1. ホーム
  2. c#

[解決済み] double.NaNはなぜ自分自身と等しくないのですか?

2023-04-12 02:32:23

質問

どなたか説明してください。C#ではdouble.NaNはdouble.NaNと等しくありません。

bool huh = double.NaN == double.NaN; // huh = false
bool huh2 = double.NaN >= 0; // huh2 = false
bool huh3 = double.NaN <= 0; // huh3 = false

double.NaNと比較して真になる定数は何ですか?

どのように解決するのですか?

気になる方は、このような Double.IsNaN のように見えます。

public static bool IsNaN(double d)
{
    return (d != d);
}

ファンキーだろ?