可能重复:
how to print number with commas as thousands separators in Javascript
我有一个函数可以将一千个分隔符添加到一个数字中,但是当传入小数时它不能正常工作:
function thousandSep(val) {
return String(val).split("").reverse().join("")
.replace(/(.{3}\B)/g, "$1,")
.split("").reverse().join("");
}
如果我传入10000,我会按预期获得10,000。
然而,传入10,000.00我得到1,000,0.00。
如何修改处理小数的函数?
答案 0 :(得分:6)
请勿使用.
,请使用\d
function thousandSep(val) {
return String(val).split("").reverse().join("")
.replace(/(\d{3}\B)/g, "$1,")
.split("").reverse().join("");
}
答案 1 :(得分:4)
function format(n, sep, decimals) {
sep = sep || "."; // Default to period as decimal separator
decimals = decimals || 2; // Default to 2 decimals
return n.toLocaleString().split(sep)[0]
+ sep
+ n.toFixed(decimals).split(sep)[1];
}
format(4567354.677623); // 4,567,354.68