JavaScript参考手册
全球对象 | Global Objects
parseFloat
parseFloat() 函数解析一个字符串参数并返回一个浮点数。
语法
parseFloat(value)
参数
string
需要被解析成为浮点数的字符串.
返回值
从给定值解析浮点数。如果该值无法转换为数字,则返回NaN
。
描述
parseFloat
是个全局函数,不属于任何对象.
parseFloat
将它的字符串参数解析成为浮点数并返回.如果在解析过程中遇到了正负号(+或-),数字(0-9),小数点,或者科学记数法中的指数(e或E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数.同时参数字符串首位的空白符会被忽略.
如果参数字符串的第一个字符不能被解析成为数字,则parseFloat
返回NaN
.
你可以通过调用isNaN
函数来判断parseFloat的返回结果是否是NaN
.如果让NaN
作为了任意数学运算的操作数,则运算结果必定也是NaN
.
parseFloat
也可转换和返回Infinity值
. 可以使用isFinite
函数来判断结果是否是一个有限的数值 (非Infinity
, -Infinity
, 或 NaN
).
parseFloat
也可以解析一个对象,如果它已经定义toString
或valueOf
方法。如果值是数字,则返回相同的数字。
示例
例子: parseFloat
返回正常数字
下面的例子都返回3.14
parseFloat(3.14);
parseFloat('3.14');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('3.14more non-digit characters');
var foo = Object.create(null);
foo.toString = function () { return "3.14"; };
parseFloat(foo);
var foo = Object.create(null);
foo.valueOf = function () { return "3.14"; };
parseFloat(foo);
例子: parseFloat
返回NaN
下面的例子将返回NaN
parseFloat('FF2');
更严格的转换函数
该函数通过正则表达式的方式,在需要更严格地转换float值时可能会有用:
var filterFloat = function(value) {
if (/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
.test(value))
return Number(value);
return NaN;
}
console.log(filterFloat('421')); // 421
console.log(filterFloat('-421')); // -421
console.log(filterFloat('+421')); // 421
console.log(filterFloat('Infinity')); // Infinity
console.log(filterFloat('1.61803398875')); // 1.61803398875
console.log(filterFloat('421e+0')); // NaN
console.log(filterFloat('421hop')); // NaN
console.log(filterFloat('hop1.61803398875')); // NaN
注意上面的代码只是示例.
规范
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. |
Living Standard |
|
浏览器兼容性
Feature |
Chrome |
Edge |
Firefox (Gecko) |
Internet Explorer |
Opera |
Safari |
---|---|---|---|---|---|---|
Basic support |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
Feature |
Android |
Chrome for Android |
Edge |
Firefox Mobile (Gecko) |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
(Yes) |
全球对象 | Global Objects相关
JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络