【问题标题】:How to format a number so that it will include commas in the correct places [duplicate]如何格式化数字,使其在正确的位置包含逗号[重复]
【发布时间】:2020-01-15 09:06:14
【问题描述】:

我正在尝试创建一个函数,该函数将对从用户输入接收到的数字进行格式化,以便在正确的位置添加逗号。例如,1000 变为 1,000。 1000000 变成 1,000,000 以此类推。

var formatNumber = function (num) {
        var numSplit, dec, int;

        num = Math.abs(num);
        num = num.toFixed(2);
        numSplit = num.split('.');
        int = numSplit[0];
        dec = numSplit[1];

        if (int.length > 3 && int.length <= 6) {
            int = int.substr(0, int.length - 3) + ',' + int.substr(int.length - 3, 4);
        } else if (int.length > 6) {
            int = int.substr(0, int.length - 6) + ',' + int.substr(int.length - 6, int.length - 4) + ',' + int.substr(int.length - 3, 7);
}
return int + '.' + dec
}

该功能适用​​于最多 7 位的数字。 100 万完美地变成 1,000,000.00,但在此之上它又增加了一个零,因此 1000 万变成 10,0000,000.00。如何解决这个问题?

这是一个代码笔:https://codepen.io/samivino/pen/ZEzRjjy

P.s.- 高于 999,999,999 的数字不相关,因此无需添加超过 2 个逗号。

【问题讨论】:

  • (1000000).toLocaleString() 例如 (docs)?

标签: javascript substring


【解决方案1】:

您可以简单地使用toLocaleString()

var number = 1000000;
var formatted = number.toLocaleString();

console.log(formatted) //1,000,000

阅读here了解更多关于如何使用它的信息。

【讨论】:

猜你喜欢
  • 2015-07-18
  • 1970-01-01
  • 1970-01-01
  • 2022-06-20
  • 2010-10-16
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
相关资源
最近更新 更多