如何在 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),那么一切都会出错。另外,我觉得我的代码太冗长了。你能