Javascript:需要自动舍入的解决方法

时间:2013-04-17 04:53:26

标签: javascript rounding ieee-754

我有一个javascript计算:

var temp = ((1 + 0.07)^(1/12))-1;

对此的实际答案是:

0.00565414539

在^(1/12)(0.833 ..)上,你得到1.00565414539

但是,Javascript会自动将其舍入为1。

对此有何修复?

可能有一百万个这样的问题,但我在谷歌搜索中找不到任何问题,而且我一直在讨论这个问题。

2 个答案:

答案 0 :(得分:4)

^是按位XOR运算符,而不是power of运算符。

你需要这样做:

var temp = (Math.pow((1 + 0.07),(1/12)))-1;

答案 1 :(得分:2)

尝试使用Math.pow()函数进行功率计算,而不是^。

alert(Math.pow(1 + 0.07,1/12)-1);