JavaScript数值略有偏差

时间:2012-11-07 07:12:53

标签: javascript

  

可能重复:
  Is JavaScript’s Math broken?

所以我正在编写一个程序来计算数字到非常精确的值,并且我学到了数值从未像它们看起来那样严格的方法。例如:

<script type="text/javascript">
var num=80.902
var difference=(num*10-Math.floor(num*10))/10;
document.write(difference);
</script>

这表明实际差异为0.001999999999998181。有没有办法让这些数字准确?我猜它是某种记忆的东西,所以我有没有办法把它变成双重的东西?令人讨厌的是必须将数据与小于10 ^ -13的数字进行比较。

1 个答案:

答案 0 :(得分:0)

这是javascript的固有限制。它不是为精确的精确浮点数数学而设计的。

这个问题是您要查看的位置:How to deal with floating point number precision in JavaScript?Is floating point math broken?

......我猜想JavaScript是浮动精度最差的语言。