浮点运算缺陷

2017-02-19  本文已影响0人  Yuxin_Liu

之前做播放器的时候被浮点运算坑过,当时试了几种精确的方法,总结一下好用的吧,私以为这种东西知道个一两种可以了(呵呵哒🙄)。

有两个经典的坑爹运算:

Paste_Image.png

导致的原因很简单,IEEE754的设计缺陷(所谓的浮点数精度损失)。

减法的解决办法

作比较,基本上小于一个精度的范围就可以视为相等的:

Paste_Image.png

var equal = Math.abs(x-y) < 0.000001;
返回false就是不等

用.toPrecision(10)和.toFixed(10)
Paste_Image.png
上一篇 下一篇

猜你喜欢

热点阅读