JavaScript数学函数:如何格式化答案w /逗号在千分之一的地方

JavaScript Math Function: How to Format Answer w/ Comma in Thousandths Place

本问题已经有最佳答案,请猛点这里访问。

我正在编写一个JavaScript代码,允许用户计算他们的奖金。数学很简单。年薪x支出百分比=您的支出。

一切都是建立和工作,但我有一个格式问题。

我不想把你的支出列为4000.3美元,我想要一个逗号,在美分部分加一个零,这样它就可以读到……4000.30美元。(这只是一个例子)

我不知道该怎么做。在下面的代码计算中,我先计算工资*支出/100,然后再计算一个math.round,这样它将四舍五入到小数点后两位,但我不知道要添加什么或调整它,使它在千位中添加一个逗号(顺便说一下,它永远不会以百万为单位),然后在末尾添加一个零,如果像上面的示例中一样,它将不包括f或.30.

感谢您的帮助。我只需要被引导到正确的方向。谢谢!

下面是计算器这部分的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
function calculate()
{
   var salary = document.calculateBonus.salary.value;
   var payout = document.calculateBonus.payout.value;
   var answer = (salary * payout / 100);
   answer = Math.round(answer * 100) / 100;
   if(document.calculateBonus.salary.value =="" )
   {
     alert("Please enter your salary");
     document.calculateBonus.salary.focus();
     return false;
   }
   if(document.calculateBonus.payout.value =="" )
   {
     alert("Please put in your payout percentage");
     document.calculateBonus.payout.focus();
     return false;
   }
   (document.getElementById('payoutText').innerHTML =
   ("Your Bonus Payout is $" + answer));
   return false;
}


这似乎适用于您的简单用例

1
2
var answer = salary.toFixed(2);                     // convert to string
answer = answer.replace(/(\d)(\d{3})\./,"$1,$2."); // look for four digits and '.'

可以使用较短的regexps…