function addCommas(nStr) {
nStr += '';
var x = nStr.split('.');
var x1 = x[0];
var x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
P = addCommas(P);
$("#monthly_result").html(P.toFixed(2));
我遗漏了P计算,所以请记住它输出的数字是千位数和小数。
我从堆栈中获取了该函数,它可以很好地为数千个数字添加逗号。但是,当我试图将值限制为2位小数时,它不会输出任何内容。
由于
答案 0 :(得分:1)
我的回答非常简单,但是你想要的是:
http://phpjs.org/functions/number_format:481
示例:
$("#monthly_result").html(number_format('1234.56', 2));
答案 1 :(得分:0)
toFixed不适用于字符串(addCommas函数返回的字符串)。 简单的解决方案是使用parseFloat将数字转换为float,然后使用toFixed剪切小数位并转换回字符串以继续执行您的函数。
对于固定数量的小数位,有以下几点:
function addCommas(num) {
var num = parseFloat(num).toFixed(2)+'',
rgx = /(\d+)(\d{3}[\d,]*\.\d{2})/;
while (rgx.test(num)) {
num = num.replace(rgx, '$1' + ',' + '$2');
}
return num;
}
在这种情况下,addCommas(61423.34512);
会返回"61,423.35"
。我建议使用Robert发布的number_format函数来获得一些额外的格式化选项。