При вызове Double.IsNaN()
с Double.PositiveInfinity
в качестве аргумента результат равен false. Это противоречит моей интуиции, так как бесконечность не является числом. По-видимому, "NaN" существует только в терминах константы в .NET, описывается ли это стандартом IEEE или представляет собой детальную реализацию реализации? Есть ли более короткий способ проверить, является ли Double
"NaN", чем:
(Double.IsNaN(d) || Double.IsPositiveInfinity(d) || Double.IsNegativeInfinity(d))
или
(Double.IsNaN(d) || Double.IsInfinity(d))