2017-08-07 5 views
-3

Ich habe dieses HTML:isNaN für parseInt() gibt falsche

<div id="val">64</div> 

und diese JS:

$(function(){ 
    console.log(isNaN(parseInt($('#val').text()))); 
}) 

und es ist false. Ich muss überprüfen, ob es eine Nummer gibt oder nicht.

+1

scheint mir gut zu funktionieren ..... Welchen Wert [s] scheitern? – epascarello

+0

Was ist Ihre Frage? – Nathan

+4

Ja 'false', da es eine Nummer ist. –

Antwort

2

Die Funktion isNaN() gibt true zurück, wenn der übergebene Wert KEINE Zahl ist, nicht, wenn IT eine Zahl ist.

Da Sie überprüfen möchten, ob der angegebene Text eine Zahl ist, können Sie einfach eine ! vor Ihrem isNaN() Anruf hinzufügen, so dass es testet, ob es "nicht" eine Zahl ist, oder mit anderen Worten, wenn es eine Zahl:

$(function(){ 
    console.log(!isNaN(parseInt($('#val').text()))); 
}) 

der Zweck des ! Betreiber ist es, den Wert eines booleschen zu umkehren; Das heißt, ändern Sie false zu true und umgekehrt.

+0

'! IsNaN ($ ('# val'). Text())' - gibt 'true' zurück, was bedeutet, dass es sich nicht um eine Zahl handelt 'div' ist 64. – gdfgdfg

+3

@gdfgdfg du nimmst die inverse durch vor' '' '' – j08691

+1

Ja verstehe ich, Sry 10 Stunden und das ist das Ergebnis. Ich denke, isNaN gibt true zurück, wenn es Nummer ist ..... – gdfgdfg

0

Wenn Sie wissen wollen, ob der Wert in div infact eine Zahl ist, könnten Sie es machen wie

if (!isNaN(parseInt($('#val').text()))) { 
    // What you want to do if it IS a number 
} else { 
    // What you want to do if it IS NOT a number. 
} 

Du Überprüfung im Grunde, wenn es N ot einN Umbra mit diesem Funktion. Wenn es eine Zahl ist, gibt es false zurück, und Sie können den Code ausführen, den Sie ausführen wollten. Wenn es sich jedoch NICHT um eine Zahl handelt, wird true zurückgegeben, und Sie können einen Fallback festlegen.

0

Verwenden Sie if-Anweisung, um zuerst zu überprüfen, ob isNaN es zu Integer oder console.log etwas anderes analysiert.

$(function(){ 
var number = !isNaN($('#val').text())?parseInt($('#val').text()):'NaN'; 
console.log(number); 
}) 
1

Es ist nichts falsch mit der Rückkehr von isNaN() Funktion.

Die globale Funktion isNaN wird wahr zurück, wenn das Argument eine Zahl nicht eine Zahl oder falsch wenn die Rückkehr ist.

Wenn Sie überprüfen wollen, ob die argumet eine Zahl ist, Sie tun können! IsNaN()