C# – Überprüfen auf NaN

Wie testet man korrekt, ob ein Double oder Single NaN ist? In meinem jugendlichen Leichtsinn nutzt ich natürlich zunächst

If ( 0/zero == double.NaN ) [...] // Ist IMMER false
If ( 0/zero != double.NaN ) [...] // Ist IMMER true

und wunderte mich dann über seltsame Ergebnisse. Da hat sich mal wieder irgendwann irgendwer gedacht: Mensch, jetzt mache ich mal meinen Matheprofessor stolz, denn NaN ist ja im eigentlichen Sinne keine Zahl mehr.  Korrekt, aber für den Programmierer nervig, da hätte man doch ruhig mal ein bisschen Benutzerfreundlichkeit einbauen können.

So geht es richtig, wie man hier nachlesen kann:

if (Double.IsNaN(0/zero))
{
   //Code
}

Kolja Engelmann

Technikfan, Freizeitprogrammierer, selbsternannter Toolking und vermutlich größter Drachenfan Deutschlands blogged hier die Lösungen zu IT-Problemen die ihm über den Weg laufen, kleine Softwaretools, nostalgische Anfälle und missbraucht das Ganze gern auch mal als privates Tagebuch und Fotoalbum.

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert