小数安全问题 发表于 2022-04-18 分类于 JavaScript 二进制浮点数中0.1和0.2并不精确,它们相加的结果并非刚好等于0.3,所以结果为false,可以设置一个误差范围值,通常称为机器精度,对于javaScript来说,通常是2^-52 从ES6开始,该值定义为Number.EPSILON 123456function numberCloseEnoughToEqual(n1,n2){ return Math.abs(n1-n2)<Number.EPSILON}var a=0.1+0.2;var b=0.3;console.log(numberCloseEnoughToEqual(a,b)); 本文作者: 小柒 本文链接: https://coloey.github.io/2022/04/18/小数安全问题/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!