关于javascript:javascript – 添加千位分隔符并保留小数位

javascript - Add thousand seperator and retain decimal place

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
how to print number with commas as thousands separators in Javascript

我有一个函数,可以为一个数字添加一千个分隔符,但是当传入小数时它不能正常工作:

1
2
3
4
5
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。

如何修改处理小数的函数?


不要使用.,请使用\d

1
2
3
4
5
function thousandSep(val) {
    return String(val).split("").reverse().join("")
                  .replace(/(\d{3}\B)/g,"$1,")
                  .split("").reverse().join("");
}

1
2
3
4
5
6
7
8
9
10
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