1、首先呈现一下问题:
let a = 0.1 + 0.2let b = 0.3我们的期望:a==b 为true结果:a==b 为false打印一下a和b的值分别为:0.30000000000000004 和 0.3 2、在实际应用中如何匹配a和b的值呢?有一种常见的方法是设置一个误差范围值,通常称为“机器精度”。可以使用Number.EPSILON来比较两个数字是否相等。下面定义方法如下:
function numberCloseEqual(n1,n2) { return Math.abs(n1 - n2) < Number.EPSILON;} 3、结果:
numberCloseEqual(a, b) // true
numberCloseEqual(0.000001,0.000002) // false
原文地址:https://www.cnblogs.com/zjingjing/p/11437964.html
时间: 2025-01-13 09:48:50