判断浮点数是否相等的常用方法(C++)

一般情况下判断是否相等用 == ,但10.0000001和10.0在偏差允许的范围内是可以认为是相等的,如果用 == 判断计算机是认为不相等的。按照IEEE754的标准,精度浮点数有效位最多小数点后7位,而双精度则是最多小数点后15位。

所以判断浮点数是否相等的常用方法是:取两数差值的绝对值判断其是否在某一范围内

如:

    if (abs(x-y)<1e-10) //x-y差值在1的负十次方范围内,x=y

   ................

判断浮点数是否相等的常用方法(C++)

 

判断浮点数是否相等的常用方法(C++)

判断浮点数是否相等的常用方法(C++)