parseFloat()

Сводка

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

Синтаксис

parseFloat(строка)

Параметры

строка
Текстовая строка, из которой вам надо выделить десятичное число.

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

Число с плавающей точкой, полученное из строки. Если первый символ не может быть сконвертирован в число, то возвращается NaN.

Описание

parseFloat - это высокоуровневая функция, не привязанная ни к одному объекту.

parseFloat разбирает текстовую строку, ищет и возвращает из нее десятичное число. Если функция встретит знак, отличный от (+ или -), цифр(0-9), разделительной точки, или показателя степени, она вернет значение, предшествующее этому знаку, игнорируя все последующие символы . Допускаются позади и впереди идущие пробелы.

Если первый символ нельзя привести к числовому виду, parseFloat вернет NaN.

С точки зрения математики, значение NaN не является числом в какой-либо системе счисления. Чтобы определить, вернет ли parseFloat значение NaN в качестве результата, можно вызвать функцию isNaN. Если NaN участвует в арифметических операциях, результатом также будет NaN.

parseFloat также может вернуть значение Infinity ("бесконечность"). Вы можете использовать функцию isFinite, чтобы определить, является ли результат конечным числом  (not Infinity, -Infinity, или NaN).

Примеры

parseFloat возвращает число

Все примеры ниже вернут 3.14

parseFloat("3.14");
parseFloat("314e-2");
parseFloat("0.0314E+2");
parseFloat("3.14какие-нибудь не цифровые знаки");

parseFloat возвращает NaN

Пример ниже вернет NaN

parseFloat("FF2");

Более строгая функция разбора

Иногда бывает полезно более строго разбирать десятичные числа, например, используя регулярное выражение:

var filterFloat = function (value) {
    if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
      .test(value))
      return Number(value);
  return NaN;
}

console.log(filterFloat('421'));               // 421
console.log(filterFloat('-421'));              // -421
console.log(filterFloat('+421'));              // 421
console.log(filterFloat('Infinity'));          // Infinity
console.log(filterFloat('1.61803398875'));     // 1.61803398875
console.log(filterFloat('421e+0'));            // NaN
console.log(filterFloat('421hop'));            // NaN
console.log(filterFloat('hop1.61803398875'));  // NaN

Обратите внимание: это только пример кода; он не принимает правильные числа такие как  1. или.5.

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

Спецификация Статус Комментарий
ECMAScript 1st Edition (ECMA-262) Стандарт Изначальное определение
ECMAScript 5.1 (ECMA-262)
Определение 'parseFloat' в этой спецификации.
Стандарт  
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'parseFloat' в этой спецификации.
Стандарт  
ECMAScript 2017 Draft (ECMA-262)
Определение 'parseFloat' в этой спецификации.
Черновик  

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

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

Смотрите также

Метки документа и участники

Метки: 
 Внесли вклад в эту страницу: pk.prog, KTatyana, schoonc, PC-Contra
 Обновлялась последний раз: pk.prog,