Number.isInteger()
Базовый уровень Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Статический метод Number.isInteger() определяет, является ли переданное значение целым числом.
Попробуйте
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!"
Синтаксис
Number.isInteger(value)
Параметры
-
value - Значение для проверки на целое число.
Возвращаемое значение
Булево значение true, если данное значение является целым числом. В противном случае false.
Описание
Если целевое значение является целым числом, возвращается true, в противном случае возвращается false. Если значение является NaN или Infinity, возвращается false. Метод также вернет true для чисел с плавающей запятой, которые могут быть представлены как целые числа. Он всегда будет возвращать false, если значение не является числом.
Обратите внимание, что некоторые числовые литералы, хотя и выглядят как нецелые числа, на самом деле представляют целые числа — из-за ограничения точности кодирования чисел с плавающей запятой ECMAScript (IEEE-754). Например, 5.0000000000000001 отличается от 5 только на 1e-16, что слишком мало для представления. (Для справки, Number.EPSILON хранит расстояние между 1 и следующим представимым числом с плавающей запятой, большим 1, и это около 2.22e-16.) Следовательно, 5.0000000000000001 будет представлено с тем же кодированием, что и 5, что приведет к тому, что Number.isInteger(5.0000000000000001) вернет true.
В том же смысле, числа вблизи величины Number.MAX_SAFE_INTEGER будут страдать от потери точности и приведут к тому, что Number.isInteger вернет true, даже если это не целое число. (Фактический порог зависит от количества бит, необходимых для представления десятичного числа — например, Number.isInteger(4500000000000000.1) равно true, но Number.isInteger(4500000000000000.5) равно false.)
Примеры
Использование isInteger
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
Спецификации
Совместимость с браузерами
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
isInteger |
34 |
12 |
16 |
21 |
9 |
34 |
16 |
21 |
9 |
2.0 |
37 |
9 |
1.0.0 |
1.0 |
0.12.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger