ES6 在 Number
对象上面,新增了一个极小的常量 Number.EPSILON
,它表示 1 和大于 1 的最小浮点数之间的差,相当于 2 的 -52 次方
Number.EPSILON 实际上是 JavaScript 能够表示的最小精度
我们可以用它来设置能够接受的误差范围,比如,误差范围设为 2 的 -50 次方,如果两个浮点数的差小于这个值,我们就认为这两个浮点数相等
function withErrorMargin(left, right) {
return Math.abs(left - right) < Number.EPSILON * Math.pow(2, 2);
}
console.log(withErrorMargin(0.1 + 0.2, 0.3));
网友评论