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…