背景:我一直都只是知道0.1+0.2 !== 0.3
但是怎么解决呢?我仅仅停留在了what and why。今天正好有时间,来看看how?
我们都知道JS是采用标准64位双精度浮点数来存储数字。JS中的有一个安全数2^53,这并不代表js只能存储那么点大的数字,超出范围也是可以的,只是精度可能会出现问题。这个精度出现问题肯定是不符合我们预期的。
因为JS是采用标准64位双精度浮点数来存储数字,所以你知道了0.1+0.2 !== 0.3。那么我们如何解决这种现象呢??
- es6中的Number.EPSILON。
- toFixed