# parseFloat()

## 在此页

``` parseFloat() ``` function parses an argument (converting it to a string first if needed) and returns a floating point number.

## 句法

```parseFloat(string)
```

### 参数

``` 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.

### 返回值

A floating point number parsed from the given ``` string ``` .

Or ``` NaN ``` when the first non-whitespace character cannot be converted to a number.

## 描述

``` parseFloat ``` is a top-level function and not a method of any object.

• ``` parseFloat ``` encounters a character other than a plus sign ( ``` + ``` ), minus sign ( ``` - ``` U+002D HYPHEN-MINUS), numeral ( ``` 0 `````` 9 ``` ), decimal point ( ``` . ``` ), or exponent ( ``` e ``` or ``` E ``` ), 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 ``` 返回 ``` NaN ``` .
• ``` parseFloat ``` can also parse and return ``` Infinity ``` .
• ``` parseFloat ``` converts ``` BigInt ``` syntax to ``` 数字 ``` , losing precision. This happens because the trailing ``` n ``` 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.

## 范例

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

## 浏览器兼容性

 Desktop Mobile Server Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Chrome 1 Edge 12 Firefox 1 IE 3 Opera 3 Safari 1 WebView Android 1 Chrome Android 18 Firefox Android 4 Opera Android 10.1 Safari iOS 1 Samsung Internet Android 1.0 nodejs 0.1.100

## 另请参阅

1. JavaScript
2. 教程：
3. 完整初学者
4. JavaScript 指南
5. 中间体
6. 高级
7. 参考：
8. 内置对象
9. 表达式 & 运算符
10. 语句 & 声明
11. 函数
12. 错误
13. 杂项