javascript - JavaScript 中的数字格式化

标签 javascript arrays number-formatting

我正在尝试创建一个 JS 脚本以使用 , 分隔符来格式化数字,但逻辑实现中出现了问题。

我在这里更改 arr1 的值。

这是我这次使用的JS代码——

<script>
var arr1 = [1,2,3,4,5,6,7];
arr1.reverse();
var i = 1;
var tempArr = new Array();
for( i; i <= arr1.length ; i++ ) {
    if( i%3 == 0 ) {
        tempArr[i-1] = arr1[i-1];
        tempArr[i] = ',';
        i++;
    }
    else {
        tempArr[i-1] = arr1[i-1];
    }
}
console.log(tempArr.reverse().join(''));
</script>

预期输出 `` 当前输出错误

1,234           =>  ,234 
12,345          =>  1,345
123,456         =>  ,12,456
1,234,567       =>  ,23,567

这次我正在学习编码,请告诉我我在代码片段中做错了什么(逻辑部分)。

最佳答案

您完全忘记添加原始数字和逗号:

var arr1 = [1,2,3,4,5,6,7].reverse()
  , tempArr = [];
for (var i = 0; ++i <= arr1.length;) {
    tempArr[i-1] = arr1[i-1];
    if (i % 3 === 0) tempArr[i] = arr1[i++] + ',';
}
console.log(tempArr.reverse().join(''));

更简洁的版本:

function addCommas(str) {
    str = (str + '').split('');
    for (var i = str.length - 1; (i -= 3) > 0;) str[i] += ',';
    return str.join('');
}

关于javascript - JavaScript 中的数字格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16663200/

相关文章:

javascript - 我们如何使用 jquery 更改 tr 的背景颜色?

javascript - Flutter Openweather API 调用

javascript - Eclipse 自动完成 JavaScript

javascript - 如何将数字格式化为十进制表示法?

java - 如何在 GUI 中设置货币格式?

javascript - Rails Acts_as_votable ajax/js upvoting 所有帖子而不是一个

java - Java 2D数组大小更改错误

PHP 二维数组到 MySQL 数据库

php - 在 PHP 中,是否可以使用 PDO 获得一维数组?

java - 从几个科学计数法中获取数字