yylib-quick-mobile
Version:
yylib-quick-mobile
116 lines (112 loc) • 4.12 kB
JavaScript
var MathUtil = require('./MathUtils').default;
var formatUtils = {
formatNumber: function formatNumber(num, digits, sp, defaultValue) {
if (isNaN(num) || num === '' || num === undefined || num === null) {
if (arguments.length == 4) return arguments[3];
return '';
}
if (sp == null) {
sp = 3;
}
digits = digits !== undefined && digits !== null && digits >= 0 && digits <= 20 ? digits : 2;
num = MathUtil.scienceNum(num);
num = parseFloat((num + "").replace(/[^\d\.-]/g, ""));
var flag = false;
if (num < 0) {
flag = true;
num = Math.abs(num);
}
num = num.toFixed(digits) + "";
var tem = num.split(".");
var l = tem[0].split("").reverse();
var r = tem[1] && tem[1].length >= 1 ? tem[1] : "";
var t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % sp == 0 && i + 1 != l.length ? "," : "");
}
var scienceNum;
if (digits == 0) {
scienceNum = (flag ? "-" : "") + t.split("").reverse().join("");
} else {
scienceNum = (flag ? "-" : "") + t.split("").reverse().join("") + "." + r;
}
return MathUtil.scienceNum(scienceNum);
},
formatMoney: function formatMoney(money) {
return this.formatNumber(money, 2, 3);
},
formatDate: function formatDate(date, format) {
if (date === undefined || date === null || !(date instanceof Date)) {
return date;
}
var o = {
"M+": date.getMonth() + 1,
"d+": date.getDate(),
"(H|h)+": date.getHours(),
"m+": date.getMinutes(),
"s+": date.getSeconds(),
"q+": Math.floor((date.getMonth() + 3) / 3),
"S": date.getMilliseconds()
};
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
},
parseAntDate: function parseAntDate(value) {
if (value) {
value = new Date(value.replace(/-/g, '/'));
}
return value;
},
formatAntDate: function formatAntDate(date) {
if (date && date instanceof Date) {
var mm = date.getMonth() + 1;
var dd = date.getDate();
mm = mm < 10 ? '0' + mm : mm;
dd = dd < 10 ? '0' + dd : dd;
date = date.getFullYear() + '-' + mm + '-' + dd;
}
return date;
},
formatUnitTA: function formatUnitTA(value) {
return formatUtils.formatText(value, '台');
},
formatMoneyCN: function formatMoneyCN(value) {
return formatUtils.formatText(value, '元');
},
formatMoneyPeopleCN: function formatMoneyPeopleCN(value) {
return formatUtils.formatText(value, '元/人');
},
formatMoneyDayCN: function formatMoneyDayCN(value) {
return formatUtils.formatText(value, '元/天');
},
formatMoneyEN: function formatMoneyEN(value) {
return formatUtils.formatText(value, '¥', 'left');
},
formatRatio: function formatRatio(value) {
return formatUtils.formatText(value, '%');
},
formatText: function formatText(value, unit, pos) {
if (value != '') {
return pos == 'left' ? unit + value : value + unit;
}
return '';
},
formatBooleanToString: function formatBooleanToString(obj, formatPropertiesArray) {
if (!(obj instanceof Object) || !(formatPropertiesArray instanceof Array)) {
return {};
}
formatPropertiesArray.forEach(function (property) {
obj[property] = obj[property] == true ? "Y" : "N";
});
return obj;
}
};
module.exports = formatUtils;
;