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