由于浮点型的精度是有限的,经过运算就可能存在舍入误差,比如(x/y)*y != x。所以如果要比较浮点型数值,最好要先定义一个极小值MIN作为允许误差。
1.浮点型与0比较
#define MIN 0.0000000001
double temp;
if (abs(temp)<MIN)
{
return;
}
2.浮点型与其他数值比较
#define MIN 0.0000000001
double temp;
if(abs(temp - 2.5) < MIN)
{
return ;
}