--- title: parseFloat slug: Web/JavaScript/Reference/Global_Objects/parseFloat tags: - parseFloat() translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat ---
{{jsSidebar("Objects")}}

parseFloat() 函数解析一个参数(必要时先转换为字符串)并返回一个浮点数。

{{EmbedInteractiveExample("pages/js/globalprops-parsefloat.html")}}

语法

parseFloat(string)

参数

string
需要被解析成为浮点数的值。

返回值

给定值被解析成浮点数。如果给定值不能被转换成数值,则会返回 {{jsxref("NaN")}}。

描述

parseFloat是个全局函数,不属于任何对象。

考虑使用 {{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");

parseFloat 和 BigInt

以下例子均返回 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")}}

相关链接