浮点运算缺陷

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

有两个经典的坑爹运算:

Paste_Image.png

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

减法的解决办法

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

Paste_Image.png

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

用.toPrecision(10)和.toFixed(10)
浮点运算缺陷_第1张图片
Paste_Image.png

你可能感兴趣的:(浮点运算缺陷)