ParseFloat: примеры (JAVASCRIPT)
parseFloat(string: String): NumberОсновные сведения о parseFloat
Функция parseFloat() преобразует строковый аргумент в число с плавающей точкой. Использование происходит при необходимости получения числового значения из строки, которая может содержать числовые данные, включая десятичную часть.
Функция принимает один обязательный параметр string - значение для преобразования. Если аргумент не является строкой, он преобразуется в строку перед обработкой. Функция анализирует строку слева направо, пока не встретит символ, не являющийся частью числового представления.
Возвращаемые значения: число с плавающей точкой (тип number) или NaN (Not-a-Number), если первый символ не может быть преобразован в число. Функция распознает десятичную точку, экспоненциальную запись и знаки +/-, но останавливается на первонечисловом символе после допустимой числовой последовательности.
Простые примеры применения
parseFloat('3.14');3.14
parseFloat(' -12.5px');-12.5
parseFloat('0.0314E+2');3.14
parseFloat('FF2');NaN
parseFloat('');NaN
Альтернативы в JavaScript
Number() - преобразует значение в число, но требует точного соответствия формата, иначе возвращает NaN. parseInt() - преобразует строку в целое число, поддерживает указание системы счисления. Унарный плюс (+) - быстрый способ преобразования, но чувствителен к посторонним символам.
parseFloat предпочтительнее для чтения чисел с дробной частью из строк с дополнительными символами. parseInt используют для целых чисел, особенно с указанием системы счисления. Number и унарный плюс применяют для строгого преобразования без обработки посторонних символов.
Распространенные ошибки
Ожидание преобразования строк с разделителями тысяч - parseFloat не распознает запятые как часть числа.
parseFloat('1,234.56');1
Непонимание поведения с шестнадцатеричными числами - parseFloat не обрабатывает префикс 0x.
parseFloat('0xFF');0
Обработка null и undefined - эти значения преобразуются в строки перед разбором.
parseFloat(null);NaN
История изменений
Функция parseFloat остается стабильной в спецификации ECMAScript. Основные изменения касались обработки крайних случаев и уточнения поведения с различными входными данными. В современных версиях JavaScript улучшена производительность и соответствие стандартам IEEE 754 для чисел с плавающей точкой.
Расширенные примеры
Обработка научной нотации с различными вариантами записи:
parseFloat('1.23e-4');0.000123
Работа с локализованными числами, где запятая - десятичный разделитель:
parseFloat('3,14'.replace(',', '.'));3.14
Извлечение чисел из сложных строковых конструкций:
parseFloat('Температура: -5.7°C');NaN
Особенности преобразования булевых значений:
parseFloat(true);NaN
Обработка объектов с пользовательским методом toString:
const obj = {toString: () => '88.2'};
parseFloat(obj);88.2
Аналоги в других языках
PHP: floatval() и (float) - преобразуют значение в число с плавающей точкой, но обрабатывают всю строку.
echo floatval('3.14abc');3.14
Python: float() - преобразует строку в число, но вызывает исключение при посторонних символах.
float('3.14')3.14
MySQL: CAST() и CONVERT() - преобразуют значения в числовой формат в рамках запросов.
SELECT CAST('3.14' AS DECIMAL(10,2));3.14