在开发的时候,我们经常会碰到一些对金额的处理,如:1999.00要转换成1,999.00或是1,999.0;亦或者将1999999.00转换成1,999,999.00
如下方法可解决此问题:
formatMoney : function(s, n) {
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
var amt = t.split("").reverse().join("") + "." + r;
return amt.replace(new RegExp(/,/g),'');
}
上面参数s表示数字如1999999,n表示要精确的位数
上面方法表示1999999——>1999999.00若要1999999.00——>1,999,999.00 则只要
return t.split("").reverse().join("") + "." + r;即可