Baseline Widely available
Die statische Methode Number.isInteger()
bestimmt, ob der übergebene Wert eine ganze Zahl ist.
function fits(x, y) {
if (Number.isInteger(y / x)) {
return "Fits!";
}
return "Does NOT fit!";
}
console.log(fits(5, 10));
// Expected output: "Fits!"
console.log(fits(5, 11));
// Expected output: "Does NOT fit!"
Syntax Parameter
value
Der Wert, der darauf getestet werden soll, ob er eine ganze Zahl ist.
Der boolesche Wert true
, wenn der gegebene Wert eine ganze Zahl ist. Andernfalls false
.
Wenn der Zielwert eine ganze Zahl ist, wird true
zurückgegeben, andernfalls false
. Ist der Wert NaN
oder Infinity
, wird false
zurückgegeben. Die Methode gibt auch true
für Gleitkommazahlen zurück, die als ganze Zahl dargestellt werden können. Sie wird immer false
zurückgeben, wenn der Wert keine Zahl ist.
Beachten Sie, dass einige Zahlenliterale, die wie Nicht-Ganzzahlen aussehen, tatsächlich ganze Zahlen darstellen â aufgrund der Präzisionsgrenze der ECMAScript-Gleitkommazahlenkodierung (IEEE-754). Zum Beispiel unterscheidet sich 5.0000000000000001
nur um 1e-16
von 5
, was zu klein ist, um dargestellt zu werden. (Zum Vergleich, Number.EPSILON
speichert die Entfernung zwischen 1 und der nächstgröÃeren darstellbaren Gleitkommazahl gröÃer als 1, und diese ist etwa 2.22e-16
.) Daher wird 5.0000000000000001
mit der gleichen Kodierung wie 5
dargestellt, sodass Number.isInteger(5.0000000000000001)
true
zurückgibt.
In ähnlicher Weise erleiden Zahlen im Bereich der GröÃenordnung von Number.MAX_SAFE_INTEGER
einen Präzisionsverlust und führen dazu, dass Number.isInteger
true
zurückgibt, auch wenn es sich nicht um eine ganze Zahl handelt. (Die tatsächliche Schwelle variiert je nach Anzahl der benötigten Bits zur Darstellung der Dezimalstelle â zum Beispiel ist Number.isInteger(4500000000000000.1)
true
, aber Number.isInteger(4500000000000000.5)
ist false
.)
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, because of loss of precision
Number.isInteger(4500000000000000.1); // true, because of loss of precision
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4