我想做的是从简单的字符串输入中创建带有千位分隔符的格式化数字。所以我的输入看起来像这样
我知道已经有几个库可以处理这个问题,但我想保持简单,只是自己做。我的当前解决方案有点冗余(因为双重
let input = "12345"
,我期望的返回值应该看起来像"12,345"
。我知道已经有几个库可以处理这个问题,但我想保持简单,只是自己做。我的当前解决方案有点冗余(因为双重
.reverse()
),我相信有更好的解决方案。let array = input.split('');
array.reverse();
for (let i = 3; i < array.length; i += 4) {
array.splice(i, 0, ',');
}
array.reverse();
return array.join('');
Number.prototype.toLocaleString
方法。 - strinput.toLocaleString('en-US')
。指定en-US
以获取千位分隔符。例如在en-IN
中,数字表示方式是不同的。 - Mortz(e.g. with .map or .reduce).
You could do ->input.split("").map((m,i) => (a.length - i) % 3 === 0 && (i > 0) ? "," + m : m).join("")
- Keith