将逗号分隔符添加到计算结果中

时间:2016-04-13 08:42:16

标签: javascript

如何在计算结果中显示逗号分隔符? (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;
}

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

2 个答案:

答案 0 :(得分:1)

你可以使用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>

答案 1 :(得分:0)

在这里: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;
}

简短说明:

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

这是通过索引%3 === 0来实现的。(%是带有休息的整数除法的数学模运算符)