我正在尝试比较落在 [0.0, 1.0] 中的2 个双打。
我的函数(取自https://stackoverflow.com/a/17341)-
inline bool isEqual(double x, double y)
{
const double epsilon = 0.000001;
return fabs(x - y) < epsilon;
}
用法-
cerr << isEqual(1.000001, 1.000002) << endl;
cerr << isEqual(1.000010, 1.000020) << endl;
输出是-
0
0
而我期望首先是true
,其次是false
。请告诉我哪里出了问题以及如何解决?