--- title: Number.isSafeInteger() slug: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger tags: - ECMAScript 2015 - JavaScript - Method - Number translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger ---
Die Number.isSafeInteger()
Methode prüft, ob der übergebene Wert eine Nummer ist, die ein sichere ganze Zahl ist.
Eine sichere ganze Zahl ist
Zum Beispiel ist 253 - 1
eine sichere ganze Zahle: sie kann exakt repräsentiert werden und keine andere ganze Zahl wird in jedem IEEE-754 Rundungsmodus zu ihr gerundet. Im gegensatz dazu ist 253
keine sichere ganze Zahl: Sie kann in IEEE-754 exakt repräsentiert werden, jedoch wird die ganze Zahl 253 + 1
kann nicht exakt repräsentiert werden und wird zu 253
in den Modus zum nächsten Runden und zu null runden gerundet. Die sicheren ganzen Zahlen sind alle ganzen Zahlen im Bereich von -(253 - 1)
inklusiv und 253 - 1
inklusiv.
Der Einsatz von Zahlen größer ~9 Biliarden oder kleiner ~-9 Biliarder mit voller Präzision benötigen eine Langzahlarythmetik Bibliothek. Mehr Informationen über die Repräsentation von Gleitkommazahlen gibt es in dem Artikel What Every Programmer Needs to Know about Floating Point Arithmetic.
Number.isSafeInteger(testValue)
testValue
Ein {{jsxref("Boolean")}}, der angibt, ob die übergebenen Zahl eine sichere ganze Zahl ist oder nicht.
Number.isSafeInteger(3); // true Number.isSafeInteger(Math.pow(2, 53)); // false Number.isSafeInteger(Math.pow(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
Number.isSafeInteger = Number.isSafeInteger || function (value) { return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER; };
Spezifikation | Status | Kommentar |
---|---|---|
{{SpecName('ES2015', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} | {{Spec2('ES2015')}} | Initiale Definition. |
{{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Number.isSafeInteger")}}