我有用四舍五入或四舍五入的javascript的问题。那么它会完成这项工作,但有些情况下,它无法正确完成工作。在javascript中四舍五入或四舍五入的更好的方法
例如。
价格为0.30,如果有15%的折扣,结果应该是0.255或0.26。 (这是某种程度上没关系)
价格是79.99,50%的折扣应该有40个结果。 (实际结果是39.995)
以此为参考Using toFixed(2) and math round to get correct rounding
也做了这个过程Math.round(value*Math.pow(10,dec))/Math.pow(10,dec);
任何想法试过吗?
谢谢
这是我的初步测试。虽然这只是一个最初的测试什么,如果最后两位数是我没被选中大于5然后申请Math.ceil
将在0.255
是0.26
但使用39.99
时,结果仍然是39.99
虽然39.99
应该使用Math.round
从而使结果将是40
。
我想完成的是如果需要四舍五入或需要四舍五入,可以将任意数字舍入或舍入。
UPDATE
我能解决我自己的问题。 (ATLEAST我的特定环境)
我不明白你的问题,你想达到什么程度的准确性?您首先需要精确到小数点后两位,第二位是小数点后一位 – 2013-03-07 23:54:28
@Benjamin Gruenbaum:在这两种情况下,它都是四舍五入到小数点后两位 – zerkms 2013-03-07 23:59:06
这应该回答您的问题,精确到小数点后两位: http://stackoverflow.com/questions/5191088/how-to-round-up-a-number-in-javascript – 2013-03-08 00:05:24