JS метод Global.parseInt()
Загальний опис
parseInt()
– це вбудований метод в мові програмування JavaScript, що дозволяє перетворювати рядок у ціле число. Цей метод важливий для обробки та перетворення даних, отриманих у формі рядків, наприклад, з форм веб-сторінок або з текстових файлів.
Для чого потрібен parseInt()
? У розробці веб-додатків дуже часто доводиться стикатися з даними, представленими у вигляді рядків. Це може бути інформація, введена користувачем, дані з файлів або інших джерел. Але при роботі з числовими обчисленнями потрібно, щоб ці дані були в правильному числовому форматі. Тут на допомогу приходить parseInt()
.
Основне використання методу – перетворити рядок у ціле число. Наприклад:
let stringNumber = "42";
let number = parseInt(stringNumber);
console.log(number); // 42
Важливо зазначити, що parseInt()
читає рядок зліва направо до першого нечислового символу. Якщо рядок починається з нечислового символу, метод повертає NaN
(Not a Number). Приклад:
console.log(parseInt("123abc")); // 123
console.log(parseInt("abc123")); // NaN
parseInt()
може приймати другий аргумент, який визначає систему числення. Це може бути корисним при роботі з числами у двійковій, вісімковій, шістнадцятковій системах числення тощо. Приклад:
console.log(parseInt("1010", 2)); // 10 (в двійковій системі)
console.log(parseInt("12", 8)); // 10 (в вісімковій системі)
console.log(parseInt("A", 16)); // 10 (в шістнадцятковій системі)
Є кілька особливостей роботи parseInt()
, про які важливо знати:
Якщо рядок містить дійсне число,
parseInt()
поверне тільки цілу частину:console.log(parseInt("123.45")); // 123
Метод завжди повертає числовий тип даних, навіть якщо переданий рядок не містить числа:
console.log(parseInt("hello")); // NaN
Відмінність від методу
parseFloat()
: докиparseFloat()
використовується для перетворення рядків у дійсні числа,parseInt()
завжди повертає ціле число.
Нотатка: | Коли ви використовуєте метод
|
Нотатка: | Метод
|
Нотатка: | Для початківців важливо розуміти, що якщо |
Порада: | Якщо ви часто конвертуєте одні й ті ж рядки, розгляньте можливість кешування результатів, щоб оптимізувати продуктивність. Велика кількість викликів |
Нотатка: | JavaScript не робить відмінності між "дробовими числами" та "цілими числами" на рівні мови. |
Синтаксис
parseInt(string)
parseInt(string, radix)
Параметри
- *
string
Це рядок, який починається з цілого числа.
Початкові пробільні символи в цьому аргументі ігноруються. Тобто, якщо рядок містить пробіли на початку, вони не враховуються під час перетворення. Якщо ж рядок містить невалідні символи (тобто символи, які не можуть бути перетворені в число за заданою основою), то метод перетворює лише ту частину рядка, яка йде до цих символів. Наприклад, при перетворенні рядка "123abc" результатом буде число
123
.radix
Ціле число між 2 і 36, яке представляє основу (або радікс) числової системи рядка. Він конвертується в 32-бітне ціле число; якщо після конвертації він виходить за межі діапазону [2, 36], функція завжди повертає
NaN
.
Return
number
Повертає ціле число, виведене з заданого рядка, або
NaN
, якщо:- Основа як 32-бітне число менше за 2 або більше за 36;
- Перший символ рядка, який не є пробілом, не може бути конвертований в число.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
1 |
1 |
1 |
3 |
12 |
Переглядач | ||||
---|---|---|---|---|
4.4 |
18 |
4 |
1 |
Переглядач | ||
---|---|---|
0.10.0 |
1.0 |
Приклади
Коли користувач вводить рядок у текстове поле та натискає кнопку "Перетворити", рядок перетворюється у ціле число за допомогою методу parseInt()
. Результат виводиться у параграфі під текстовим полем.
У цьому прикладі ми маємо ціну товару у форматі рядка priceString
, де числова частина відділена від словесної частиною пробілом. Коли ми викликаємо parseInt(priceString)
, перетворення рядка на число зупиняється на першому нечисловому символі (у нашому випадку пробілі), і нам повертається число 120.
// Маємо ціну у форматі рядка, де валюта вказана після числа
let priceString = "120.50 грн.";
// Використовуючи parseInt(), отримуємо число з рядка до зустрічі нечислового символа
let price = parseInt(priceString);
// Виводимо результат
console.log(price); // Виведе: 120
У цьому прикладі ми хочемо перевірити, чи є вказаний рядок binaryString
дійсно бінарним числом. Ми використовуємо parseInt(binaryString, 2)
для спроби перетворити рядок з бінарної системи числення на ціле число. Якщо рядок містить символи, що не є 0 або 1, parseInt()
поверне NaN
. Використовуючи isNaN()
, ми можемо визначити, чи є результат NaN
, і вивести відповідне повідомлення.
// Рядок, який потрібно перевірити
let binaryString = "10102";
// Перетворюємо рядок на число з бінарної системи числення
let number = parseInt(binaryString, 2);
// Перевіряємо чи результат є NaN
if (isNaN(number)) {
console.log("Рядок не є бінарним числом.");
} else {
console.log("Рядок є бінарним числом.");
}