bool DoubleEqual(double v1, double v2)
{
return (v1 <= (v2 + DBL_EPSILON)) && (v1 >= (v2 - DBL_EPSILON));
{
return (v1 <= (v2 + DBL_EPSILON)) && (v1 >= (v2 - DBL_EPSILON));
}
bool FloatEqual(float v1, float v2)
{
return (v1 <= (v2 + FLT_EPSILON)) && (v1 >= (v2 - FLT_EPSILON));
}
在float.h中定义
#define FLT_EPSILON 1.192092896e-07F // smallest such that 1.0+FLT_EPSILON != 1.0
#define DBL_EPSILON 2.2204460492503131e-016 // smallest such that 1.0+DBL_EPSILON != 1.0