float,double判断相等

xiaoxiao2021-02-28  45

bool DoubleEqual(double v1, double v2) { 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

转载请注明原文地址: https://www.6miu.com/read-2622365.html

最新回复(0)