0

[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。どこが間違っているのか、どうすれば直せるのか教えてください。

4

1 に答える 1