Formatting Numbers with Thousands Separators in JavaScript
Question:
如何使用 JavaScript 将整数格式化为带千位分隔符的数字?例如,将数字 1234567 显示为 "1,234,567"。
目前的实现:
function numberWithCommas(x) { x = x.toString(); var pattern = /(-?\d+)(\d{3})/; while (pattern.test(x)) x = x.replace(pattern, ","); return x; }
更简单优雅的方法:
function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); }
此方法使用正则表达式来查找每三个数字后出现的位置(B(?=(d{3}) (?!d))),然后将其替换为逗号(,)。
浮点数处理:
该方法也可以处理浮点数,只要将浮点数转换为字符串再进行格式化即可:
const numberWithCommas = (x) => x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); console.log(numberWithCommas(1234567.89)); // "1,234,567.89"
以上是如何在 JavaScript 中格式化带有千位分隔符的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!