JavaScript精度丢失问题。
javaScript中臭名昭著的BUG就是
0.1+0.2 !== 0.3
,因为精度问题,导致所有浮点数运算都是不安全的。正如下面的计算结果,它们并不是我们所预想的:
0.1 + 0.2 = 0.30000000000000004
1 - 0.9 = 0.09999999999999998
虽然很多人知道这个浮点数误差这个问题的,可是却不知道背后的原理以及解决方案。今天我们就通过上面两个例子看看JavaScript浮点数误差问题背后的原理以及解决方案吧!
那我们先来看看本文将包含什么内容
- 为什么JavaScript的所有数值都统称为Number
- 是什么导致的浮点数计算误差问题(IEEE 754是什么)
- 那遇到浮点数计算应该如何解决
- 最后讲讲JavaScript值的范围