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');

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

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

BCD tables only load in the browser

Див. також