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 |
|---|---|---|---|---|---|---|
| Базовая поддержка | (Да) | (Да) | (Да) | (Да) | (Да) | (Да) |