首页 > 代码库 > javascript 的数值转换
javascript 的数值转换
js中有3个函数可以把非数值转换成数值:Number(),parseInt()和parseFloat()。
Number()可以用于任何数据类型,而另外两个函数则专门用于把字符串转换成数值。这三个函数对于同样的输入会有返回不同的结果。
Number()函数的转换规则如下:
- 如果是Boolean值,则转换成1或者0。
- 如果是数字,只是简单的传入传出。
- 如果是null,返回0.
- 如果是undefined,返回NaN。
- 如果是字符串,如果字符串中包含非数字字符,则将其转成NaN。
- 如果是对象,则调用对象的valueOf(),然后依照前面的规则返回值,如果转换结果是NaN,则调用对象的 toString() 方法,然后再次依照前面的规则转换返回的字符串值。
由于Number()函数转换字符串时比较复杂而且不够合理,所以在处理整数的时候更常用的是parseInt()。它在转换字符串时,更多的是看其是否符合数值模式。它会忽略字符串前面的空格,直到找到第一个非空格字符。如果第一个字符不是数字字符或者符号,parseInt()就会返回Nan;也就是说,用parseInt()转换空字符串也会返回NaN。如果第一个字符是数字字符,它会继续解析第二个字符,直到解析完所有后续字符或者遇到了第一个非数字字符。例如“100px”会被转换成100。“22.5”转换成22,因为小数点不是有效的数字字符。
parseFloat几乎和parseInt一样,除了可以解析小数。
javascript 的数值转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。