当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 详解JS转换数值函数Number()、parseInt()、parseFloat()

详解JS转换数值函数Number()、parseInt()、parseFloat()

2018年09月24日  | 移动技术网IT编程  | 我要评论
js中有三种函数可以将非数值转换成数值:number()、parseint()和parsefloat()。第一个函数,即转型函数number()可以用于任何数据类型,而另外

js中有三种函数可以将非数值转换成数值:number()、parseint()和parsefloat()。第一个函数,即转型函数number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。这3个函数对于同样的输入会返回不同的结果。

number()

number()函数的转换规则如下:

•如果参数是date对象,返回从1970年1月1日至今的毫秒数。
•如果是boolean值,true和false将分别被替换为1和0
•如果是数字值,只是简单的传入和返回
•如果是null值,返回0
•如果是undefined,返回nan
•如果是字符串,遵循下列规则: •如果字符串只包含数字(包括十六进制格式“0x”),则将其转换成对应的十进制。
•如果字符串是空的,返回0。
•如果字符串包含其它字符,返回nan。

•如果是对象,则调用对象的valueof()方法,然后依照前面的规则转换返回的值。如果转换的结果是nan,则调用对象的tostring()方法,然后再依次按照前面的规则转换返回的字符串值。

document.write(number(true)+"<br/>"); //返回1
document.write(number(false)+"<br/>"); //返回0
document.write(number(null)+"<br/>"); //返回0
document.write(number(undefined)+"<br/>"); //返回nan
document.write(number("001")+"<br/>"); //返回1
document.write(number("001.1")+"<br/>"); //返回1.1
document.write(number("0x10")+"<br/>"); //返回16
document.write(number(new string("11aa"))+"<br/>"); //返回nan

parseint()

返回由字符串转换得到的整数。

parseint(numstring, [radix])

参数

numstring必选项。要转换为数字的字符串。radix可选项。在 2 和 36 之间的表示 numstring 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

说明

parseint()方法返回与保存在numstring中的数字值相等的整数。如果numstring的前缀不能解释为整数,则返回nan(而不是数字)。它会忽略字符串前面的空格,直至找到第一个非空格字符。

示例

document.write(parseint("1")+"<br/>"); //返回1
document.write(parseint("  1")+"<br/>"); //返回1
document.write(parseint("1.1")+"<br/>"); //返回1
document.write(parseint("11aa")+"<br/>"); //返回11
document.write(parseint("020")+"<br/>"); //返回16(八进制)
document.write(parseint("")+"<br/>"); //返回nan
document.write(parseint("af")+"<br/>"); //返回nan
document.write(parseint("af",16)+"<br/>"); //返回175
document.write(parseint("0xaf")+"<br/>"); //返回175

parsefloat()

返回由字符串转换得到的浮点数。

parsefloat(numstring)

必选项 numstring 参数是包含浮点数的字符串。

说明

parsefloat()返回与numstring中保存的数相等的数字表示。如果numstring的前缀不能解释为浮点数,则返回nan(而不是数字)。

总结

以上所述是小编给大家介绍的js转换数值函数number()、parseint()、parsefloat(),希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网