--- title: Number.isSafeInteger() slug: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger tags: - ECMAScript 2015 - JavaScript - Number - метод translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger original_slug: Web/JavaScript/Reference/Global_Objects/Число/isSafeInteger ---
Метод Number.isSafeInteger() визначає, чи є надане значення безпечним цілим числом.
Безпечним цілим числом вважається ціле число, яке
Наприклад, 253 - 1 є безпечним цілим числом: воно може бути точно відображене, і жодне інше ціле число не округлюється до нього в будь-якому режимі округлення IEEE-754. Для контрасту, 253 не є безпечним цілим числом: воно може бути точно відображене у IEEE-754, але ціле число 253 + 1 не може бути безпосередньо відображене у IEEE-754, а, натомість, округлюється до 253 під час округлення до найближчого цілого та округлення до меншого за модулем. Безпечні цілі числа включають усі цілі числа від -(253 - 1) включно до 253 - 1 включно (± 9007199254740991 або ± 9,007,199,254,740,991).
Робота зі значеннями, більшими чи меншими за ~9 квадрільйонів, з повною точністю вимагає використання бібліотеки для арифметики довільної точності. Дивіться Що необхідно знати кожному програмісту про арифметику чисел з рухомою крапкою, щоб дізнатись більше щодо відображення чисел з рухомою крапкою.
Для більших чисел розгляньте використання типу {{jsxref("BigInt")}}.
Number.isSafeInteger(testValue)
testValueЗначення {{jsxref("Boolean")}}, яке вказує, чи є надане значення безпечним цілим числом.
Number.isSafeInteger = Number.isSafeInteger || function (value) {
return Number.isInteger(value) && Math.abs(value) <= Number.MAX_SAFE_INTEGER;
};
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
| Специфікація |
|---|
| {{SpecName('ESDraft', '#sec-number.issafeinteger', 'Number.isSafeInteger')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("javascript.builtins.Number.isSafeInteger")}}