Back

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

Как преобразовать строку в целое число в 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()` полностью завершается ошибкой, если строка не является полностью числовой.

Listen to your bugs 🧘, with OpenReplay

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