【问题标题】:Adding comma separators into calculation result在计算结果中添加逗号分隔符
【发布时间】:2016-08-04 05:32:13
【问题描述】:

如何在计算结果中显示逗号分隔符? (123456789 显示为 123,456,789)

function calculate(){
a=Number(document.calculator.number1.value);
b=Number(document.calculator.number2.value);

A1=a*2000
document.calculator.totalA1.value=A1;
A2=a*b*240
document.calculator.totalA2.value=A2;
A3=a*8*240
document.calculator.totalA3.value=A3;
A4=a*960*5
document.calculator.totalA4.value=A4;
A5=a*3600*5
document.calculator.totalA5.value=A5;
A6=a*3000
document.calculator.totalA6.value=A6;
A7=A1+A2+A3+A4+A5+A6
document.calculator.totalA7.value=A7;
A8=a*120000
document.calculator.totalA8.value=A8;
A9=A8-A7
document.calculator.totalA9.value=A9;
}

我看到了很多建议,但不知道在哪里插入脚本。 谢谢!

【问题讨论】:

  • 你的意思是2000?只需对数字进行字符串拆分并每 3 个字符插入逗号。
  • 请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。

标签: javascript


【解决方案1】:

给你:https://jsfiddle.net/odewuqun/3/

function addPunctuation(number){
    var array = number.toString().split("");
    var output = "";
    var first = true;
    for(var i = array.length-1; i >= 0; i--){
        if((array.length-i-1) % 3 === 0){
        if(first){
          first = false;
        }else{
          output = "," + output;
        }      
      }
      output = array[i] + output;
    }
    return output;
}

简短说明:

  • 将数字转换为字符串。
  • 将该字符串拆分为一个数组。
  • 从末尾迭代该数组并创建一个新字符串,在其中每 3 个字符之间添加一个 ,。

这由索引 % 3 === 0 归档。(% 是整数除法的数学模运算符)

【讨论】:

    【解决方案2】:

    您可以使用RegExp 尝试类似的操作

    $("#button").click(function(){
      var a = 100;
      var A1=(a*2000);
      alert(String(A1).replace(/(\d{3})(?!$)/g, "$1,"));
    })
    <script src="https://code.jquery.com/jquery-1.12.3.min.js"></script>
    <button type="button" id="button">Calculate </button>

    【讨论】:

    • 也很有趣。
    • 谢谢,我刚刚开始学习正则表达式的工作原理,所以我希望它确实是一个有效的解决方案。
    • 我想知道的是正则表达式或 for 循环解决方案是否更高效,不幸的是 jsperf 目前似乎已关闭。
    • 我不知道哈哈。根据我有限的知识,我认为循环会更昂贵,对吗?我还不知道代码如何影响性能,我绝对应该开始阅读!
    猜你喜欢
    • 1970-01-01
    • 2020-07-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多