Baseline Widely available
Die Number.isSafeInteger()
statische Methode bestimmt, ob der angegebene Wert eine Zahl ist, die ein sicherer Integer ist.
function warn(x) {
if (Number.isSafeInteger(x)) {
return "Precision safe.";
}
return "Precision may be lost!";
}
console.log(warn(2 ** 53));
// Expected output: "Precision may be lost!"
console.log(warn(2 ** 53 - 1));
// Expected output: "Precision safe."
Syntax
Number.isSafeInteger(testValue)
Parameter
testValue
Der Wert, der darauf getestet werden soll, ob er ein sicherer Integer ist.
Der boolesche Wert true
, wenn der angegebene Wert eine Zahl ist, die ein sicherer Integer ist. Andernfalls false
.
Die sicheren Integer umfassen alle Ganzzahlen von -(253 - 1) bis 253 - 1 einschlieÃlich (±9.007.199.254.740.991). Ein sicherer Integer ist ein Integer, der:
Zum Beispiel ist 253 - 1 ein sicherer Integer: Er kann genau dargestellt werden, und keine andere Ganzzahl wird unter irgendeinem IEEE-754-Rundungsmodus auf ihn gerundet. Im Gegensatz dazu ist 253 kein sicherer Integer: Er kann genau in IEEE-754 dargestellt werden, aber die Ganzzahl 253 + 1 kann nicht direkt in IEEE-754 dargestellt werden, sondern wird stattdessen bei Rundung auf den nächsten und Rundung auf Null auf 253 gerundet.
Um Werte gröÃer oder kleiner als ~9 Billiarden mit voller Präzision zu handhaben, ist die Verwendung einer Arbitrary-Precision-Arithmetik-Bibliothek erforderlich. Siehe Was jeder Programmierer über Gleitkommaarithmetik wissen muss für weitere Informationen zu Gleitkommadarstellungen von Zahlen.
Für gröÃere Ganzzahlen sollten Sie den BigInt
-Typ in Betracht ziehen.
Number.isSafeInteger(3); // true
Number.isSafeInteger(2 ** 53); // false
Number.isSafeInteger(2 ** 53 - 1); // true
Number.isSafeInteger(NaN); // false
Number.isSafeInteger(Infinity); // false
Number.isSafeInteger("3"); // false
Number.isSafeInteger(3.1); // false
Number.isSafeInteger(3.0); // true
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