JS 格式化数字

时间:2023-02-26 19:27:38

由于项目需要需要特使格式数数字格式,自个写了个公共对象,哈~~!!

var formatCalculate = {
/**
* @param s 数值
* @param spt 分割格式
* @param n 保留位数
* @returns {String}
*/
fnumber : function(s, spt, n) {
n = n || 0;
spt = spt || ","
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse();
var r = n==0 ? "" : ("." + s.split(".")[1]);
var t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? spt : "");
}
return t.split("").reverse().join("") + r;
},
/**
*
* @param s 数值
* @param ne 需要保持长度
*/
fnumber9: function(s, ne) {
s = parseInt(s, 10) + "";
var m = "";
for(var i=0,j=ne-s.length;i<j;i++) {
m += "0";
}
m += s;
var l = m.split("").reverse()
var t = "";
for (var i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("");
}
};
fnumber9 可以保留固定长度的数字,如果真实不足的话,会在前面补0,并且每隔3位会添加","分隔,对一些活动场景非常使用。