Number.isInteger() в JavaScript — чи ціле це число


Загальний опис

Number.isInteger() - це статичний метод в JavaScript, призначений для визначення, чи є задане значення цілим числом. Оскільки JavaScript представляє всі числа як числа з плаваючою комою, іноді може бути важко визначити, чи є число дійсно цілим. Цей метод допомагає вирішити цю проблему, надаючи надійний спосіб перевірки. На практиці метод може бути корисний, наприклад, при обробці даних, коли необхідно гарантувати, що число є цілим.

Для використання методу Number.isInteger() достатньо передати йому як аргумент значення, яке потрібно перевірити. Якщо значення є цілим числом, метод поверне true, в іншому випадку - false.

Приклади використання:

  1. Базовий випадок:

    console.log(Number.isInteger(4));     // true
    console.log(Number.isInteger(4.5));   // false
    
  2. Перевірка рядків, масивів та інших типів:

    console.log(Number.isInteger("4"));   // false, тому що це рядок
    console.log(Number.isInteger([4]));   // false, тому що це масив
    
  3. Робота з числами, які можуть бути вважені цілими:

    console.log(Number.isInteger(4.0));   // true, оскільки 4.0 еквівалентно 4
    

Важливі особливості:

  • Метод Number.isInteger() не проводить автоматичного приведення типів. Отже, рядки або інші значення, які можуть бути перетворені на цілі числа, будуть вважатися недійсними.

  • На відміну від деяких інших методів перевірки, Number.isInteger() визнає числа з плаваючою комою, що є еквівалентами цілим числам (наприклад, 4.0), як цілі числа.

автор: Bond

Порада

В JavaScript існують різні методи для перевірки типів даних, і Number.isInteger() конкретно перевіряє, чи є число цілим. Якщо вам потрібно перевірити, чи є щось числом незалежно від того, ціле воно чи ні, краще використовуйте Number.isFinite().

автор: Bond
Порада

Коли ви працюєте з дійсними числами, є велика ймовірність отримання неочікуваних результатів через особливості представлення чисел у комп'ютері. Тому перед тим, як порівнювати дійсні числа, перевірте, чи обидва числа є цілими за допомогою Number.isInteger().

автор: Bond
Порада

Якщо ви очікуєте від користувача ввод цілого числа (наприклад, кількість товарів у кошику або номер сторінки), використовуйте Number.isInteger() для перевірки, чи введене значення відповідає вашим вимогам.

let userInput = prompt("Введіть ціле число:");
if (Number.isInteger(Number(userInput))) {
    console.log("Дякуємо!");
} else {
    console.log("Будь ласка, введіть ціле число.");
}
автор: Bond
Нотатка

Метод Number.isInteger() — ідеальний інструмент для перевірки, чи є даний аргумент цілим числом. Це корисно, наприклад, при валідації даних або роботі з індексами масивів.

console.log(Number.isInteger(4.5)); // false
console.log(Number.isInteger(4)); // true
автор: Bond

Синтаксис

Number.isInteger(value)

Параметри

value

Значення, яке потребує перевірки на те, чи є воно цілим числом.

автор: Bond

Повернення

boolean

Повертає булеве значення (true або false). Якщо передане значення є цілим числом, метод повертає true. В іншому випадку - false.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
34 16 9 21 12 —
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
37 34 16 9
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.12.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми перевіряємо, чи є задане число цілим за допомогою методу Number.isInteger().

const num1 = 15.5;
const num2 = 10;

console.log(Number.isInteger(num1)); // false
console.log(Number.isInteger(num2)); // true
автор: Bond

У цьому прикладі ми створюємо функцію, яка приймає масив чисел і повертає новий масив, який містить тільки цілі числа.

function filterIntegers(numbers) {
    return numbers.filter(Number.isInteger);
}

const mixedNumbers = [5, 8.5, 13, 21.2, 34, 55.5, 89];
const integers = filterIntegers(mixedNumbers);

console.log(integers); // [5, 13, 34, 89]
автор: Bond

Після введення числа в поле та натискання кнопки "Перевірити", користувач побачить, чи є введене значення цілим числом чи ні. Відповідь виводиться з підсвічуванням у зеленому (якщо число є цілим) або червоному (якщо число не є цілим) кольорах.

HTML

<header>
  <h2 class="title">Number.isInteger()</h2>
  <p class="description">Перевіряє, чи є задане значення цілим числом.</p>
</header>
<main>
  <div class="result">
    <label for="numberInput">Введіть число:</label>
    <input type="text" id="numberInput" placeholder="Наприклад, 5 або 5.5">
    <button onclick="checkInteger()">Перевірити</button>
    <p id="output">Результат: <span id="resultSpan"></span></p>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

button {
  margin-left: 10px;
}

#output {
  margin-top: 15px;
}

#resultSpan {
  font-weight: bold;
}

JS

function checkInteger() {
  const numberValue = parseFloat(document.getElementById('numberInput').value);
  const resultSpan = document.getElementById('resultSpan');
  if (Number.isInteger(numberValue)) {
    resultSpan.textContent = "Так, це ціле число.";
    resultSpan.style.color = "green";
  } else {
    resultSpan.textContent = "Ні, це не ціле число.";
    resultSpan.style.color = "red";
  }
}
//# sourceURL=pen.js
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід