Как преобразовать строку в целое число в JavaScript
![Как преобразовать строку в целое число в JavaScript](/images/convert-string-integer-javascript/images/hero.png)
Преобразование строки в целое число - распространенная задача в 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()` полностью завершается ошибкой, если строка не является полностью числовой.