浮点数不能直接用==来判断是否相等,但可以用< 或 >来确定大小。确定两个浮点数相等和精确度有关。可以用标准C99提供的几个精度常量来判断是否相等。
float.h
FLT_EPSILON float精度
DBL_EPSILON double精度
LDBL_EPSILON long double精度
如:
bool DoubleEquel(double a, double b)
{
return abs(a - b) < DBL_EPSILON;
}
a和b的绝对值小于DBL_EPSILON就认为是相等的。