[0.0、1.0] に該当する 2 つのdoubleを比較しようとしています。
私の機能(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
。どこが間違っているのか、どうすれば直せるのか教えてください。