parseFloat()
The parseFloat()
function parses an argument (converting it to a string first if needed) and returns a floating point number.
Syntax
parseFloat(string)
Parameters
string
-
The value to parse. If this argument is not a string, then it is converted to one using the
ToString
abstract operation. Leading whitespace in this argument is ignored.
Return value
A floating point number parsed from the given string
.
Or NaN
when the first non-whitespace character cannot be converted to a number.
Description
parseFloat
is a function property of the global object.
- If
parseFloat
encounters a character other than a plus sign (+
), minus sign (-
U+002D HYPHEN-MINUS), numeral (0
–9
), decimal point (.
), or exponent (e
orE
), it returns the value up to that character, ignoring the invalid character and characters following it. - A second decimal point also stops parsing (characters up to that point will still be parsed).
- Leading and trailing spaces in the argument are ignored.
- If the argument’s first character can’t be converted to a number (it’s not any of the above characters),
parseFloat
returnsNaN
. -
parseFloat
can also parse and returnInfinity
. -
parseFloat
convertsBigInt
syntax toNumbers
, losing precision. This happens because the trailingn
character is discarded.
Consider Number(value)
for stricter parsing, which converts to NaN
for arguments with invalid characters anywhere.
parseFloat
will parse non-string objects if they have a toString
or valueOf
method. The returned value is the same as if parseFloat
had been called on the result of those methods.
Examples
parseFloat
returning a number
The following examples all return 3.14
:
parseFloat(3.14); parseFloat('3.14'); parseFloat(' 3.14 '); parseFloat('314e-2'); parseFloat('0.0314E+2'); parseFloat('3.14some non-digit characters'); parseFloat({ toString: function() { return "3.14" } });
parseFloat
returning NaN
The following example returns NaN
:
parseFloat('FF2');
parseFloat
and BigInt
The following examples both return 900719925474099300
, losing precision as the integer is too large to be represented as a float:
parseFloat(900719925474099267n); parseFloat('900719925474099267n');
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
parseFloat |
1 |
12 |
1 |
3 |
3 |
1 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat