A tartalom angol verzióját olvassa, mert még nincs fordítás ehhez a területi beállításhoz. Segítsen a cikk lefordításában.
The parseFloat()
function parses an argument (converting it to a string first if needed) and returns a floating point number.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
parseFloat(string)
Parameters
string
- The value you want to parse.
Return value
A floating point number parsed from the given argument. If a number cannot be parsed from the argument, instead returns NaN
.
Description
parseFloat
is a top-level function and not a method of any 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
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) The definition of 'parseFloat' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'parseFloat' in that specification. |
Standard | |
ECMAScript Latest Draft (ECMA-262) The definition of 'parseFloat' in that specification. |
Draft |
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
parseFloat | Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
Legend
- Full support
- Full support