js浮点数的比较方法

JavaScript020

js浮点数的比较方法,第1张

正常的比较浮点数大小会出现偏差,因为精度的问题会导致 0.1+0.2 不等于 0.3 ,所以无法用 == 或者 === 做比较,可以采用下面的方式判断是否相等,判断差值是否小于最小精度值

js中Number类型表示数字,采用“IEEE 754 标准定义的双精度64位格式”表示数字,不区分整数值和浮点数值,均采用浮点数值表示,所以在进行数字运算的时候要特别之一进度缺失问题。

js中0.1+0.2 == 0.3吗?

那么如何判断两个浮点数直接相等呢?

1、精度判断法

2、使用toFixed()方法

toFixed()方法可以把Number四舍五入为指定小数的数字。

语法

NumberObject.toFixed(num)//num代表要保留的小数位数。

但是toFixe存在不精准的问题:

解决方法:

重写toFixed()方法:

参考:

https://blog.csdn.net/undytk/article/details/88912386

https://blog.csdn.net/qq_33237207/article/details/81668457