JS метод Number.parseInt()


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

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

Порада

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

автор: 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
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() використовується для конвертації рядкового значення "A3F", яке представляє число у шістнадцятковій системі числення, у відповідне ціле число у десятковій системі числення. Другий аргумент методу Number.parseInt(), в цьому випадку 16, вказує на основу системи числення рядкового аргументу. Таким чином, метод коректно конвертує шістнадцяткове значення у десяткове.

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

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

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

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

автор: Bond

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

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

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

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

Коментарі

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

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

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

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

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