NaN abfragen
Generic1
- javascript
Hallo,
ich habe folgendes Problem, ich parse einen String:
var minInt = parseInt(ymin);
um einen Integer zu bekommen, wenn jetzt ymin keine Zahl ist, dann bekomme ich für minInt NaN (bei einer alert Ausgabe),
wenn ich jetzt mit
if(minInt != 'NaN') Abfrage, gehe ich aber in die if- Abfrage rein.
Wie kann ich das machen, dass ich auf NaN abfrage?
Vielen dank,
lg
Hallo Generic1,
versuch es mal mit http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#is_nan@title=isNaN()
Gruß, Jürgen
Wie kann ich das machen, dass ich auf NaN abfrage?
Vermutlich so, wie es bei <http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#is_nan@title=selfhtml beschrieben> wird.
Struppi.
var minInt = parseInt(ymin);
falls ymin im Bereich >=0 hat sich folgendes bewährt:
var minInt = parseInt("0"+ymin,10);
Du erhältst in jedem Fall eine Zahl, egal was in ymin steht, und sparst dir die Abfrage auf isNaN
Hallo,
ich habe folgendes Problem, ich parse einen String:
var minInt = parseInt(ymin);
um einen Integer zu bekommen
wenn ich jetzt mit
if(minInt != 'NaN') Abfrage, gehe ich aber in die if- Abfrage rein.
Wie kann ich das machen, dass ich auf NaN abfrage?
NaN
ist nicht einmal mit sich selbst identisch, d.h. sogar NaN === NaN
ergibt immer false
.
Da hilft nur isNaN()
.
Wenn du aus einem String eine Zahl machen willst, schreib' nicht
var minInt = parseInt(ymin);
sondern einfach
var minInt = +ymin;
Der Plus-Operator übernimmt die Konvertierung.
Um festzustellen, ob es eine Zahl ungleich 0 ist, reicht dann
if(minInt){/*...*/}
Falls 0 aber auch eine gültige Zahl sein soll, geht's mit if(''+minInt){/*...*/}
, was wieder einen Sting daraus macht und true
ergibt, falls der nicht leer ist. Da würde ich dann aber doch if(isNaN(ymin)){/*...*/}
ohne vorherige Konvertierung benutzen.
Gruß, Don P