js保留小数位并以千分位显示金额
/**
* 以千分位显示数值并保留小数位
* @param {any} num 保留的小数位 最大5位
*/
Number.prototype.toMoneyString = function (len) { //钱的千分位与保留两位小数
var thStr = this.toLocaleString(); //得到千分位字符串
if (len > 5) {
len = 5;
} else if (len < 0) {
len = 0
}
if (thStr.indexOf('.') != -1) {
thStr = thStr + "0000";
} else {
thStr = thStr + ".00000";
}
var re = new RegExp("^(([^\\.]+)(\\.\\d{" + len +"}?)?)\\d*$","ig");
//另一种写法如果保留小数位为0 不用正则直接以. 分隔取前部分 具体实现自己去做吧
if (len >0 ) {
return thStr.replace(re, "$1");
} else {
return thStr.replace(re, "$2");
}
};