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("Рядок є бінарним числом.");
}
