★ wanayoo — archive 1999 https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/parseFloatNouvelle recherche | Portail wanayoo

parseFloat()

by 3 contributors:

This article is in need of an editorial review.

Сводка

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

Синтаксис

parseFloat(строка)

Параметры

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

Описание

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 1-е издание. Стандарт Изначальное определение.
ECMAScript 5.1 (ECMA-262)
Определение 'parseFloat' в этой спецификации.
Стандарт  
ECMAScript 6 (ECMA-262)
Определение 'parseFloat' в этой спецификации.
Кандидат в рекомендации  

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

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

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

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

Contributors to this page: KTatyana, schoonc, PC-Contra
Обновлялась последний раз: KTatyana,
Скрыть боковую панель