我在java脚本中进行计算,但由于十进制数的精度,我遇到了问题。 我无法发布确切的计算,但这正是我正在做的导致意外结果
我写的时候:
alert(100.01-36.01);
//结果为64
但是当我写道:
alert(100.01-37.01);
//结果为63.00000000000001
它继续这样38.01 ......等等。 可以请任何帮助我,为什么这显示出这种意外的行为。 我陷入了困境。
提前致谢。
答案 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)将其设置为十进制数。