Wie kann ich auf NaN-Werte prüfen?

Float('nan')` ergibt Nan (keine Zahl). Aber wie kann ich das überprüfen? Das sollte sehr einfach sein, aber ich kann es nicht finden.

Lösung

math.isnan(x)

Gibt True zurück, wenn x eine NaN (keine Zahl) ist, und sonst False.

>>> import math
>>> x = float('nan')
>>> math.isnan(x)
True
Kommentare (15)

Der übliche Weg, um auf ein NaN zu testen, ist zu sehen, ob es gleich sich selbst ist:

def isNaN(num):
    return num != num
Kommentare (5)

math.isnan()

oder vergleichen Sie die Zahl mit sich selbst. NaN ist immer != NaN, ansonsten (z.B. wenn es eine Zahl ist) sollte der Vergleich erfolgreich sein.

Kommentare (1)