12k
All articles

Как преобразовать строку в целое число в JavaScript

Три метода преобразования строк в целые числа в JavaScript: parseInt, Number и унарный оператор, каждый обрабатывает некорректные данные по-своему.

OpenReplay Team
OpenReplay Team
Как преобразовать строку в целое число в JavaScript

Преобразование строки в целое число - распространенная задача в JavaScript. Независимо от того, обрабатываете ли вы пользовательский ввод или работаете с данными из API, JavaScript предоставляет несколько простых в использовании методов для такого преобразования. Это руководство охватывает три надежных способа преобразования строк в целые числа.

Ключевые выводы

  • Используйте parseInt() для гибкого преобразования с опциональным указанием основания системы счисления.
  • Используйте Number() для простого преобразования строки в целое число.
  • Обрабатывайте некорректный ввод во избежание неожиданных результатов.

1. Использование parseInt()

Функция parseInt() анализирует строку и возвращает целое число. Она также позволяет указать систему счисления (основание) для преобразования.

const str = ""42"";
const number = parseInt(str, 10);
console.log(number); // Вывод: 42

Ключевые детали

  • Второй аргумент, 10, указывает основание (десятичное). Всегда включайте его, чтобы избежать неожиданного поведения с недесятичными числами.
  • Если строка начинается с нецифровых символов, parseInt() игнорирует их, пока не встретит цифры:
   parseInt(""42abc"", 10); // Вывод: 42 
   parseInt(""abc42"", 10); // Вывод: NaN

2. Использование Number()

Функция Number() преобразует всю строку в число. В отличие от parseInt(), она не игнорирует нецифровые символы и завершается ошибкой, если строка содержит недопустимые данные.

const str = ""42"";
const number = Number(str);
console.log(number); // Вывод: 42

Ключевые детали

  • Возвращает NaN, если строка содержит недопустимые символы:
   Number(""42abc""); // Вывод: NaN
  • Лучше всего работает, когда строка является строго числовой.

3. Использование унарного оператора +

Унарный оператор + - это сокращенный способ преобразования строки в число. Он лаконичен и работает как функция Number().

const str = ""42"";
const number = +str;
console.log(number); // Вывод: 42

Ключевые детали

  • Как и Number(), преобразует всю строку и возвращает NaN для недопустимого ввода:
   +""42abc""; // Вывод: NaN  

Обработка недопустимого ввода

Чтобы избежать неожиданных результатов, всегда проверяйте корректность преобразования с помощью isNaN():

const str = ""42abc"";
const number = parseInt(str, 10);

if (isNaN(number)) {
  console.log(""Недопустимое число"");
} else {
  console.log(""Допустимое число:"", number);
}

Заключение

Преобразование строки в целое число в JavaScript просто с помощью parseInt(), Number() или унарного оператора +. Выберите метод, который подходит для вашего случая использования, и всегда обрабатывайте недопустимый ввод, чтобы обеспечить надежные результаты.

Часто задаваемые вопросы

Что произойдет, если строка пустая?

Для `parseInt()` и `Number()` пустая строка вернет `NaN`. Всегда проверяйте ввод перед преобразованием.

Могут ли эти методы работать с числами с плавающей точкой?

`parseInt()` отбрасывает дробную часть, в то время как `Number()` и `+` напрямую работают с числами с плавающей точкой.

В чем разница между `parseInt()` и `Number()`?

`parseInt()` прекращает анализ, когда встречает недопустимые символы, в то время как `Number()` полностью завершается ошибкой, если строка не является полностью числовой.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers

We use cookies to improve your experience. By using our site, you accept cookies.