小编典典

JavaScript千位分隔符/字符串格式

javascript

Javascript中是否有用于格式化数字和字符串的函数?

我正在寻找一种用于字符串或数字的千位分隔符的方法…(如C#中的String.Format)


阅读 372

收藏
2020-04-25

共1个答案

小编典典

以下原始答案中引用的参考文献有误。这里是一个内置的功能,这一点,而这正是德皇以下建议:toLocaleString

因此,您可以执行以下操作:

(1234567.89).toLocaleString('en')              // for numeric input
parseFloat("1234567.89").toLocaleString('en')  // for string input

下面实现的功能也可以使用,但是根本没有必要。


原始答案

根据此参考资料,没有内置函数可将逗号添加到数字中。但是该页面包含了一个如何自己编写代码的示例:

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;
}

编辑: 以另一种方式(将带逗号的字符串转换为数字),您可以执行以下操作:

parseFloat("1,234,567.89".replace(/,/g,''))
2020-04-25