Как проверить что число целое js
Мы хотим сделать этот проект с открытым исходным кодом доступным для людей во всем мире. Пожалуйста, помогите нам перевести это руководство на другие языки.
Светлая тема Тёмная тема
Поделиться
Проверка, целое ли число
важность: 3
Напишите функцию isInteger(num) , которая возвращает true , если num – целое число, иначе false .
alert( isInteger(1) ); // true alert( isInteger(1.5) ); // false alert( isInteger(-0.5) ); // false
Один из вариантов такой функции:
function isInteger(num) < return (num ^ 0) === num; >alert( isInteger(1) ); // true alert( isInteger(1.5) ); // false alert( isInteger(-0.5) ); // false
Обратите внимание: num^0 – в скобках! Это потому, что приоритет операции ^ очень низкий. Если не поставить скобку, то === сработает раньше. Получится num ^ (0 === num) , а это уже совсем другое дело.
- © 2007—2024 Илья Кантор
- о проекте
- связаться с нами
- пользовательское соглашение
- политика конфиденциальности
isInteger()
Метод Number.isInteger() определяет, является ли значение целым числом.
Этот метод возвращает true , если значение имеет тип Number и является целым числом. В противном случае метод возвращает false .
Поддержка браузеров

Синтаксис
Значения параметров
| Параметр | Описание |
| value | Обязательный. Значение, подлежащее проверке |
Технические подробности
| Возвращаемое значение: | Логическое. Возвращает true, если значение является целым числом, иначе метод возвращает false |
| Версия JavaScript: | ECMAScript 6 |
Number.isInteger()
Метод Number.isInteger() определяет, является ли переданное значение целым числом.
Интерактивный пример
Синтаксис
Number.isInteger(value)
Параметры
Значение, проверяемое на целочисленность.
Возвращаемое значение
Boolean сообщающий о том, является ли переданное значение целочисленным числом.
Описание
Если целевое значение является целым числом, возвращает true . Если значение NaN или Infinity , то возвращает false . Метод также возвращает true , если это вещественное число с точкой, которое может быть представлено в целочисленном виде.
Примеры
.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
Полифил
.isInteger = Number.isInteger || function (value) return ( typeof value === "number" && isFinite(value) && Math.floor(value) === value ); >;
Спецификации
| Specification |
|---|
| ECMAScript Language Specification # sec-number.isinteger |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Объект Number , которому принадлежит этот метод.
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.
Проверка на целое число JS
Вступление: Писал проверку на то что вводит пользователь, реализовывал через input type = ‘text’, однако потом решил попробовать через prompt и результат один и тот же. Проблема: проверял через Number.isInteger(x); Если число x введено через input или prompt и далее превращается в целое число parseInt(x). То Number.isInteger(x) покажет false. Напротив, если число изначально объявить let x = 76, то Number.isInteger(x) — true.
n = prompt(); parseInt(n, 10); console.log(Number.isInteger(n)); //false n = 67; console.log(Number.isInteger(n)); //true
Вопрос: Почему так происходит? Как от этого избавиться?
Отслеживать
Den Varenik
задан 27 янв 2020 в 11:30
Den Varenik Den Varenik
5 1 1 серебряный знак 7 7 бронзовых знаков