2025-11-13 09:03:38
浮动在js里就是那些带小数点的数字,比如3.14或者0.5。它们和整数不一样,整数就是像5、10这样没小数点的数。当我们在程序里处理这些小数的时候,有时候会出现计算结果和预期不一样的情况,比如0点1加0点2可能不等于0点3。
为什么会出现这种情况呢?这是因为电脑用二进制存储数字,而二进制对处理小数不太友好。比如0点1在二进制里其实是无限循环的,就像数学里的1/3一样。当程序多次累加这种循环小数时,就会产生细微的误差。根据IEEE 754标准,js的浮点数最多能精确到17位小数,超过这个位数就会四舍五入。比如用console.log(0.1+0.2)会输出0.000004,这是因为存储时多出了几个0。不过我们可以用Number.EPSILON来判断误差范围,比如当差值小于等于0.00001时就算相等。根据MDN文档,这种精度问题在金融计算或科学计算中需要特别注意,但日常网页开发通常可以忽略。
本题链接: