ParseFloat: примеры (JAVASCRIPT)

Функция parseFloat: преобразование строк в числа с плавающей точкой
Раздел: Глобальные функции, Парсинг чисел
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 для чисел с плавающей точкой.

Расширенные примеры

Обработка научной нотации с различными вариантами записи:

Пример javascript
parseFloat('1.23e-4');
0.000123

Работа с локализованными числами, где запятая - десятичный разделитель:

Пример javascript
parseFloat('3,14'.replace(',', '.'));
3.14

Извлечение чисел из сложных строковых конструкций:

Пример javascript
parseFloat('Температура: -5.7°C');
NaN

Особенности преобразования булевых значений:

Пример javascript
parseFloat(true);
NaN

Обработка объектов с пользовательским методом toString:

Пример javascript
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

JS parseFloat function comments

En
ParseFloat Parses an argument and returns a floating point number