JavaScript метод Number.parseFloat()

Определение и применение

JavaScript метод parseFloat() принимает в качестве аргумента строковое значение и возвращает десятичное число (число с плавающей точкой).

Проверьте поведение в редактируемом примере.

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.Number.parseFloat
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
parseFloat✓34✓12✓25✓21✓9✓34✓25✓21✓9✓2.0✓37✓9

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
Number.parseFloat( string );

Спецификация

ECMAScript: Number.parseFloat()

Значения параметров

Number: справочные сведения
Параметр Описание
string Строковое значение, которое будет преобразовано к десятичному числу. Обязательное значение.
Если первый символ не может быть преобразован в число, то возвращаемое значение будет NaN. Кроме того, если в качестве значения будет передано undefined, null или логическое значение, то возвращаемое значение будет также NaN.

Возвращаемое значение и особенности

Возвращает Number либо NaN. Сначала преобразует аргумент в строку, пропускает начальные пробельные символы, затем разбирает самый длинный десятичный префикс, включая знак, точку и экспоненту. Допускает Infinity, но не разбирает шестнадцатеричный префикс: Number.parseFloat("0x10") равно 0. Для проверки всей строки используйте Number() с учётом того, что пустая строка превращается в 0.

Примеры, попробуйте сами

Как parseFloat() читает числовое начало строки

Измените начало строки, знак или экспоненту. Сравните результат с текстом после числа.

index.html
HTML
<p>Результат выполнения выводится в консоль.</p>
main.js
JavaScript
console.log(Number.parseFloat('1.23')) // Метод возвращает 1.23
console.log(Number.parseFloat('1.23abc')) // Метод возвращает 1.23
console.log(Number.parseFloat('1')) // Метод возвращает 1
console.log(Number.parseFloat('123e-3')) // Метод возвращает 0.123
console.log(Number.parseFloat('0.0123E+3')) // Метод возвращает 12.3
console.log(Number.parseFloat(Infinity)) // Метод возвращает Infinity
console.log(Number.parseFloat(-Infinity)) // Метод возвращает -Infinity

console.log(Number.parseFloat('abc1.23abc')) // Метод возвращает NaN
console.log(Number.parseFloat('abc1.23')) // Метод возвращает NaN
console.log(Number.parseFloat(undefined)) // Метод возвращает NaN
console.log(Number.parseFloat(true)) // Метод возвращает NaN
console.log(Number.parseFloat(null)) // Метод возвращает NaN
console.log(Number.parseFloat([])) // Метод возвращает NaN
console.log(Number.parseFloat({})) // Метод возвращает NaN
console.log(Number.parseFloat('')) // Метод возвращает NaN
console.log(Number.parseFloat(' ')) // Метод возвращает NaN

console.log('Пробелы и знак:', Number.parseFloat('  -1.5px'))
console.log('Шестнадцатеричный префикс:', Number.parseFloat('0x10'))