Number.isInteger()
- Что такое Number.isInteger()
- Синтаксис
- Целые и дробные числа
- Метод не преобразует значения
- Проверка после Number()
- Number.isInteger() и prompt()
- Итого
Number.isInteger() - это метод, который проверяет, является ли значение целым числом.
console.log(Number.isInteger(10));
console.log(Number.isInteger(10.5));
Результат:
true
false
Число 10 целое, поэтому метод вернул true. У числа 10.5 есть дробная часть, поэтому результат false.
Что такое Number.isInteger()
Number.isInteger() возвращает логическое значение: true или false.
true будет только тогда, когда переданное значение является числом и у него нет дробной части.
console.log(Number.isInteger(25));
console.log(Number.isInteger(0));
console.log(Number.isInteger(-7));
Результат:
true
true
true
Положительные, отрицательные числа и ноль могут быть целыми.
Синтаксис
Общая запись выглядит так:
Number.isInteger(value);
value - значение, которое нужно проверить.
let result = Number.isInteger(8);
console.log(result);
Результат:
true
Целые и дробные числа
Целое число записывается без дробной части.
console.log(Number.isInteger(4));
console.log(Number.isInteger(100));
Результат:
true
true
Дробное число записывается с точкой.
console.log(Number.isInteger(4.5));
console.log(Number.isInteger(0.25));
Результат:
false
false
Запись 10.0 для JavaScript все равно считается целым числом, потому что фактически это то же самое значение, что и 10.
console.log(Number.isInteger(10.0));
Результат:
true
Метод не преобразует значения
Number.isInteger() ничего не преобразует. Если передать строку с числом, результат будет false.
console.log(Number.isInteger('10'));
console.log(Number.isInteger('10.5'));
Результат:
false
false
Строка ‘10’ выглядит как число, но тип у нее string. Метод проверяет строго: это уже число или нет.
Специальные числовые значения тоже не считаются целыми числами.
console.log(Number.isInteger(NaN));
console.log(Number.isInteger(Infinity));
Результат:
false
false
Проверка после Number()
Если значение пришло строкой, сначала его нужно преобразовать в число.
let value = '12';
let numberValue = Number(value);
console.log(Number.isInteger(numberValue));
Результат:
true
А вот дробное число проверку не пройдет:
let value = '12.5';
let numberValue = Number(value);
console.log(Number.isInteger(numberValue));
Результат:
false
Такой подход удобен, когда нужно проверить, что пользователь ввел именно целое число.
Number.isInteger() и prompt()
prompt() всегда возвращает строку. Поэтому сначала используем Number(), а потом проверяем результат.
let value = prompt('Введите количество товаров');
let count = Number(value);
if (Number.isInteger(count)) {
console.log('Количество:', count);
} else {
console.log('Введите целое число');
}
Если пользователь введет 5, условие выполнится. Если введет 5.5 или текст, сработает блок else.
Если пустой ввод запрещен, его лучше проверять отдельно. Number(”) дает 0, а 0 является целым числом.
Итого
Number.isInteger() проверяет, является ли значение целым числом. Метод не преобразует строки и другие типы данных.
Number.isInteger(value);
Чаще всего его используют после Number(), когда нужно убедиться, что получилось именно целое число, а не дробное значение или NaN.