В JavaScript преобразование строки в число можно выполнить несколькими способами:
Неявное приведение типов:
+ или вычитание -.javascript
javascript
Явное приведение типов:
parseInt(string, radix): Преобразует строку в целое число. Второй аргумент radix (основание системы счисления) рекомендуется указывать для избежания неожиданного поведения.javascript
parseFloat(string): Преобразует строку в число с плавающей точкой. Парсит строку до первого не-числового символа или точки.javascript
Number(value): Преобразует любое значение в число. Более строгий подход по сравнению с parseInt и parseFloat. Если строка не может быть полностью преобразована в число, возвращает NaN.javascript
Различия и особенности:
| Метод | Описание | Возвращает при невалидной строке | Парсит с начала до первого не-числа |
|---|---|---|---|
+string | Неявное приведение с унарным плюсом. | NaN | Нет (вся строка) |
string - 0 | Неявное приведение с вычитанием. | NaN | Нет (вся строка) |
parseInt() | Парсит целое число. | NaN | Да |
parseFloat() | Парсит число с плавающей точкой. | NaN | Да |
Number() | Явное преобразование. Более строгое. | NaN | Нет (вся строка) |
Выбор метода зависит от конкретной задачи и ожидаемого формата входной строки. Number() является предпочтительным для преобразования строк, представляющих собой целые или дробные числа без лишних символов. parseInt() и parseFloat() полезны для извлечения числовых значений из строк, содержащих дополнительные символы (например, единицы измерения). Неявное приведение стоит использовать с осторожностью, понимая его поведение.