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()завжди повертає ціле число.
- Порада
-
Якщо ви часто конвертуєте одні й ті ж рядки, розгляньте можливість кешування результатів, щоб оптимізувати продуктивність. Велика кількість викликів
автор: BondparseInt()може уповільнити виконання програми, особливо при обробці великих даних. - Нотатка
-
Для початківців важливо розуміти, що якщо
автор: BondparseInt()не може перетворити рядок на число, він повернеNaN. Завжди перевіряйте результат наNaNперед подальшим використанням. - Нотатка
-
JavaScript не робить відмінності між "дробовими числами" та "цілими числами" на рівні мови.
автор: BondparseInt()таparseFloat()відрізняються лише своєю поведінкою при аналізі, але не обов'язково їхніми повернутими значеннями. Наприклад,parseInt("42")таparseFloat("42")повернуть однакове значення: число 42. - Нотатка
-
Коли ви використовуєте метод
parseInt(), за замовчуванням він сприймає число як десяткове. Однак, якщо рядок починається з "0x", він буде розглядати це як шістнадцяткове число. Для явного вказівки основи системи числення завжди використовуйте другий аргумент.
автор: Bondconsole.log(parseInt("10")); // 10 console.log(parseInt("10", 10)); // 10 console.log(parseInt("10", 16)); // 16 - Нотатка
-
Метод
parseInt()зупиняє читання рядка, коли натрапляє на перший нечисловий символ. Це може призвести до неочікуваних результатів, тому завжди переконайтеся, що ваш рядок має правильний формат.
автор: Bondconsole.log(parseInt("10a")); // 10 console.log(parseInt("a10")); // NaN
Синтаксис
parseInt(string)
parseInt(string, radix)
Параметри
string-
Це рядок, який починається з цілого числа.
Початкові пробільні символи в цьому аргументі ігноруються. Тобто, якщо рядок містить пробіли на початку, вони не враховуються під час перетворення. Якщо ж рядок містить невалідні символи (тобто символи, які не можуть бути перетворені в число за заданою основою), то метод перетворює лише ту частину рядка, яка йде до цих символів. Наприклад, при перетворенні рядка "123abc" результатом буде число
автор: Bond123. radix-
Ціле число між 2 і 36, яке представляє основу (або радікс) числової системи рядка. Він конвертується в 32-бітне ціле число; якщо після конвертації він виходить за межі діапазону [2, 36], функція завжди повертає
автор: BondNaN.
Повернення
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("Рядок є бінарним числом.");
}
Коментарі
Коментарів ще немає — будьте першим!