js金额的格式化效果

在开发的时候,我们经常会碰到一些对金额的处理,如: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;即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值