在JavaScript中,数字是以二进制浮点数进行表示的。这种表示方式会导致某些十进制小数在二进制下无法精确表示的。例如0.1+0.2,他们在二进制中是无限循环的小数,将这些二进制相加时,由于进度限制,结果不能完全精确的表示成0.3,而是一个非常接近的值。
如何让其相等?
1.使用toFixed()方法
将结果四舍五入到指定的小数位数。toFixed()方法会返回一个字符串类型的结果,因此需要注意类型转换。
2.使用toPrecision()方法
toPrecision()方法也可以用于格式化数字并减少精度问题