--- title: parseFloat slug: Web/JavaScript/Reference/Global_Objects/parseFloat tags: - parseFloat() translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat ---
parseFloat()
函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。
parseFloat(string)
string
parseFloat
是个全局函数,不属于任何对象。
parseFloat
在解析过程中遇到了正号(+
)、负号(-
U+002D HYPHEN-MINUS)、数字(0
-9
)、小数点(.
)、或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。则
parseFloat
返回 NaN
。parseFloat
也可以解析并返回 {{jsxref("Infinity")}}。parseFloat
解析 {{jsxref("BigInt")}} 为 {{jsxref("Number", "Numbers")}}, 丢失精度。因为末位 n
字符被丢弃。考虑使用 {{jsxref("Number", "Number(value)")}} 进行更严谨的解析,只要参数带有无效字符就会被转换为 {{jsxref("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.14some non-digit characters');
parseFloat({ toString: function() { return "3.14" } });
parseFloat
返回NaN下面的例子将返回NaN
parseFloat("FF2");
以下例子均返回 900719925474099300
,当整数太大以至于不能被转换时将失去精度。
parseFloat(900719925474099267n);
parseFloat('900719925474099267n');
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition. | Standard | Initial definition. |
{{SpecName('ES5.1', '#sec-15.1.2.3', 'parseFloat')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-parsefloat-string', 'parseFloat')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-parsefloat-string', 'parseFloat')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.parseFloat")}}