为什么在js当中0.1+0.2并不等于0.3

219 阅读1分钟

首先我们要知道,根据js当中浮点数的定义,非整数的number类型无法用 == 来进行比较,这也出现了0.1+0.2不等于0.3的情况,他们之间实际上相差了微小的值。

所以说,我们最好不要使用0.1+0.2==0.3这种判断方式来处理浮点数的判断,正确的比较方法,应该是使用js提供的最小精度值来做比较。

  console.log( Math.abs(0.1 + 0.2 - 0.3) <= Number.EPSILON);

这样既可成功比较浮点数之间的大小了。

每天一个小知识,每天进步一丢丢