Number.parseInt() в JavaScript — рядок у ціле число


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

Number.parseInt() - це метод у JavaScript, призначений для перетворення рядка на ціле число. Основна його задача - аналізувати рядкові значення та видавати відповідне ціле число. Це особливо корисно, коли потрібно працювати з числовими даними, які отримані у вигляді тексту з різних джерел, таких як веб-форми, API чи файли конфігурації.

Для використання Number.parseInt(), передайте рядок, який ви бажаєте перетворити, як аргумент. Розглянемо простий приклад:

let number = Number.parseInt("10");
console.log(number); // Виведе 10

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

let number = Number.parseInt("34abc");
console.log(number); // Виведе 34

Якщо рядок починається з символу, який не може бути конвертований у число, метод поверне NaN:

let number = Number.parseInt("abc34");
console.log(number); // Виведе NaN

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

let hexNumber = Number.parseInt("A", 16);
console.log(hexNumber); // Виведе 10

Додаткові особливості Number.parseInt():

  1. Якщо рядок починається з "0x" або "0X", метод розглядає його як шістнадцяткове число, незалежно від того, чи була вказана основа.
  2. Метод також ігнорує ведучі пробільні символи в рядку.
автор: Bond

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

Якщо перший символ не може бути перетворений на число, Number.parseInt() поверне NaN. Тож завжди перевіряйте вивід на валідність.

let value = Number.parseInt("abc");
if (isNaN(value)) {
    console.log("Це не ціле число!");
}
автор: Bond
Нотатка

Number.parseInt() автоматично ігнорує лідируючі пробіли у рядку. Тож рядок " 42" буде успішно перетворений на число 42.

автор: Bond
Нотатка

На відміну від Number.parseFloat(), Number.parseInt() може приймати другий аргумент — систему числення. Це корисно, коли потрібно аналізувати числа не тільки у десятковій, але й у інших системах числення, як-от двійковій, вісімковій або шістнадцятковій.

let binary = "1011";
let decimal = Number.parseInt(binary, 2); // 11 у десятковій системі
автор: Bond

Синтаксис

Number.parseInt(string)
Number.parseInt(string, radix)

Параметри

string

Значення для аналізу, яке приводиться до рядкового типу. Початкові пробіли в цьому аргументі ігноруються.

автор: Bond

radix

Ціле число між 2 та 36, яке представляє основу системи числення для даного рядка.

автор: Bond

Повернення

integer

Повертає ціле число, отримане з заданого рядка. Якщо основа менша за 2 або більша за 36, або перший символ, що не є пробільним, не може бути конвертований у число, повертається значення NaN (Not-a-Number).

автор: Bond

Переглядачі

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

Приклади

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

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

HTML

<header>
  <h2 class="title">Number.parseInt()</h2>
  <p class="description">Перетворює рядок на ціле число.</p>
</header>
<main>
  <div class="result">
    <label for="inputString">Введіть рядок з числом:</label>
    <input id="inputString" type="text" value="56abc">
    <button onclick="convertString()">Конвертувати</button>
    <p id="output">Результат: </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-top: 10px;
  padding: 5px 10px;
  cursor: pointer;
}

JS

function convertString() {
  // Отримуємо рядок з інпута
  const inputString = document.getElementById('inputString').value;

  // Використовуємо Number.parseInt() для конвертації рядка у ціле число
  const number = Number.parseInt(inputString);

  // Виводимо результат на сторінку
  document.getElementById('output').textContent = 'Результат: ' + number;
}
//# sourceURL=pen.js
автор: Bond

У цьому прикладі метод Number.parseInt() використовується для конвертації рядкового значення "A3F", яке представляє число у шістнадцятковій системі числення, у відповідне ціле число у десятковій системі числення. Другий аргумент методу Number.parseInt(), в цьому випадку 16, вказує на основу системи числення рядкового аргументу. Таким чином, метод коректно конвертує шістнадцяткове значення у десяткове.

// Оголошення рядкової змінної із числом у шістнадцятковій системі числення
const hexString = "A3F";

// Конвертація рядкового значення у ціле число використовуючи основу системи числення 16
const decimalNumber = Number.parseInt(hexString, 16);

// Виведення результату
console.log(decimalNumber);  // 2623
автор: Bond

У цьому прикладі метод Number.parseInt() використовується для конвертації рядкового значення "123привіт" у ціле число. Важливо зауважити, що Number.parseInt() зупиняє аналіз рядка при зустрічі перших нечислових символів.

// Оголошення рядкової змінної із числом та текстом
const stringWithNumber = "123привіт";

// Конвертація рядкового значення у ціле число
const number = Number.parseInt(stringWithNumber);

// Виведення результату
console.log(number);  // 123
автор: 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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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