Javascript意外结果

时间:2012-06-20 06:14:13

标签: javascript

我在java脚本中进行计算,但由于十进制数的精度,我遇到了问题。 我无法发布确切的计算,但这正是我正在做的导致意外结果

我写的时候: alert(100.01-36.01); //结果为64

但是当我写道: alert(100.01-37.01); //结果为63.00000000000001

它继续这样38.01 ......等等。 可以请任何帮助我,为什么这显示出这种意外的行为。 我陷入了困境。

提前致谢。

2 个答案:

答案 0 :(得分:1)

试试这个:

<script type="text/javascript">
var n1 = parseFloat(100.01);
var n2 = parseFloat(37.01);
var res = (n1-n2)
alert(res.toFixed(2));
</script>

答案 1 :(得分:0)

如果你没有将数字声明为数字,如果字符串不仅被数字使用,js会自动将其用作字符串。

parseFloat(123.45)将其设置为十进制数。