parseFloat()

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

Синтаксис

parseFloat(string)

Параметри

string
Значення, яке потрібно розібрати. Якщо цей аргумент не є рядком, то він буде перетворений на рядок за допомогою абстрактної операції ToString. Пробільний символ на початку цього аргументу ігнорується.

Значення, що повертається

Число з плаваючою крапкою з наданого рядка string.

Або NaN, коли перший непробільний символ не може бути перетворений на число.

Опис

parseFloat є функцією верхнього рівня, а не методом будь-якого з об'єктів.

  • Якщо parseFloat зустрічає символ, що не є знаком плюс (+), знаком мінус (- U+002D дефіс-мінус), цифрою (09), десятковою крапкою (.), знаком експоненціального запису (e чи E), він повертає значення, записане до цього символа, ігноруючи недозволений символ та символи за ним.
  • Друга десяткова крапка також зупиняє аналіз (символи, що йдуть перед цим символом, будуть розібрані).
  • Пробільні символи на початку та в кінці аргументу ігноруються.
  • Якщо перший символ аргументу не може бути перетворений на число (не є жодним з наведених вище символів), parseFloat вертає NaN.
  • parseFloat також може розібрати та повернути Infinity.
  • parseFloat перетворює синтаксис BigInt на Number, втрачаючи точність. Це відбувається, оскільки літера n в кінці числа відкидається.

Використовуйте для розбору рядка також функцію Number(значення), яка перетворює на NaN аргументи з будь-якими недозволеними символами.

parseFloat спрацює для нерядкових об'єктів, якщо вони мають метод toString або метод valueOf. Повернене значення буде таким самим, яким було б після виклику parseFloat на результаті цих методів.

Приклади

parseFloat, що повертає число

Наступні приклади повернуть 3.14:

parseFloat(3.14);
parseFloat('3.14');
parseFloat('  3.14  ');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('3.14якісь нечислові символи');
parseFloat({ toString: function() { return "3.14" } });

parseFloat, що вертає NaN

Наступний приклад поверне NaN:

parseFloat('FF2');

parseFloat та BigInt

Обидва наступних приклади повернуть 900719925474099300, втративши точність, оскільки ціле число надто велике, щоб бути представленим як число з плаваючою крапкою:

parseFloat(900719925474099267n);
parseFloat('900719925474099267n');

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

Специфікація
ECMAScript (ECMA-262)
The definition of 'parseFloat' in that specification.

Сумісність з веб-переглядачами

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
parseFloatChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 3Opera Full support 3Safari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support 10.1Safari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support 0.1.100

Legend

Full support  
Full support

Див. також