Wie überprüfe ich in JavaScript, ob eine Variable eine Ganzzahl ist, und gebe einen Alert aus, wenn nicht? Ich habe es versucht, aber es funktioniert nicht:
var data = 22;
alert(NaN(data));
Wie überprüfe ich in JavaScript, ob eine Variable eine Ganzzahl ist, und gebe einen Alert aus, wenn nicht? Ich habe es versucht, aber es funktioniert nicht:
var data = 22;
alert(NaN(data));
In ES6 wurden 2 neue Methoden für das Number-Objekt hinzugefügt.
In der Methode Number.isInteger() wird true zurückgegeben, wenn das Argument eine Ganzzahl ist, andernfalls wird false zurückgegeben.
Wichtiger Hinweis: Die Methode gibt auch für Gleitkommazahlen, die als Ganzzahl dargestellt werden können, true zurück. Z. B.: 5.0 (da es genau gleich 5 ist)
Beispielverwendung:
Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger('10'); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
Number.isInteger(5.0); // true
Number.isInteger(5.000000000000001); // false
Number.isInteger(5.0000000000000001); // true
Vorsicht beim Verwenden
num % 1
Leerer String ('') oder Boolean (true oder false) werden als Integer zurückgegeben. Möglicherweise möchten Sie das nicht tun
false % 1 // true
'' % 1 //true
Number.isInteger(22); //true
Number.isInteger(22.2); //false
Number.isInteger('22'); //false
Eingebaute Funktion im Browser. Unterstützt ältere Browser nicht
Alternativen:
Math.round(num)=== num
Allerdings wird auch Math.round() für leeren String und Boolean fehlschlagen
Um zu überprüfen, ob der Integer wie vom Poster gewünscht ist:
if (+data===parseInt(data)) {return true} else {return false}
Beachten Sie das + vor data (konvertiert String in Zahl) und === für genau.
Hier sind Beispiele:
data=10
+data===parseInt(data)
true
data="10"
+data===parseInt(data)
true
data="10.2"
+data===parseInt(data)
false
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.