Avatar ·

如何在 JavaScript 中格式化数字,用逗号分隔千位?

大家好!我是 JavaScript 新手,遇到了一个问题:我需要在页面上显示大数字,比如商品价格或浏览次数。但当数字很大时,比如 1234567,它看起来难以阅读。我希望它能显示为 "1,234,567"——在千位之间加上逗号。 我尝试写了自己的函数,但运行起来有问题: ```javascript function formatNumber(num) { let str = num.toString(); let result = ''; for (let i = 0; i < str.length; i++) { if (i > 0 && i % 3 === 0) { result = ',' + result; } result = str[str.length - 1 - i] + result; } return result; } console.log(formatNumber(1234567)); // 输出 "1,234,567" — 看起来有效,但如果数字是 123456,则得到 "123,456" — 而需要 "123,456"。 ``` 但我发现,如果数字是负数或带有小数部分(例如 -1234567.89),那么一切都会出错。另外,我觉得我的代码太冗长了。你能