Generic1: NaN abfragen

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

  1. Hallo Generic1,

    versuch es mal mit http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#is_nan@title=isNaN()

    Gruß, Jürgen

  2. 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.

  3. 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

  4. 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