[c#] double.NaN이 자신과 같지 않은 이유는 무엇입니까?

누군가 나에게 이것을 설명 할 수 있습니까? 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);
}

펑키?


답변

Double.IsNaN을 사용하십시오 .


답변

bool isNaN = Double.IsNaN(yourNumber)


답변

의도적 인 행동입니다. NaN이되는 이유 는 숫자가 아닌 것을 나타 내기 때문에 많은 것을 포괄합니다.

어떤 것을 NaN과 비교하는 적절한 방법은 IsNaN 함수 를 사용하는 입니다.


답변

Double.IsNan () 을 사용 하여 여기에서 동등성을 테스트하십시오. 그 이유는 NaN이 숫자가 아니기 때문입니다.


답변

이를위한 특수 기능이 있습니다.

double.IsNan(huh);


답변

이 조건을 확인하려면 “Double.IsNaN (value)”메서드를 사용하십시오.