【JavaScript】数值转换为数值
number():
将一个数值转换为数值
如果是一个布尔值,要么被转换为 1,要么被转换为 0
如果是数字,那么该是多少,就是多少
如果是 null 值,会被转换为 0
如果是 undefined,会被转换为 NaN
字符串转换为数字:
如果字符串里面只包含数字,那么只会被转换为十进制
如果字符串为空,将会被转换为 0
如果有字母,那么就将会被转换为 NaN
如果字符串是八进制,那么会忽略前面的 0,但是如果是 16 进制的话,会转换为相应的十进制数
parseInt():
该函数会更多的看是否有数字,如果有就会被转换为数字;如果字符串为空,将会被转换为 NaN。还有一点就是,如果是 3.14,那么会被转换为 3。
事实上,我们 parseInt()函数提供了第二个参数,指定转换为几进制。
parseFloat():
该函数只能解析 10 进制,所以没有第二个参数。会将带有小数点的字符串转换为小数
在 JavaScript 中,数值转换一般有三种方式:
一、Number(param)函数:param 可以用于任何数据类型
1.1 param 是 Boolean 值,true 和 false 分别转换为 1 和 0;
1.2 param 是数值,只是简单的传入和返回
1.3 param 是 null 和 undefined,分别返回 0 和 NaN
toString() 方法:以字符串返回数组,所有数字方法可用于任意类型的数字。
Number() :返回数字,由其参数转换而来。 可用于把 JS 变量转换为数值:
parseInt()转换规则
由于 Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候更常用的是 parseInt()函数。parseInt()函数在转换字符串时,更多的是看其是否符合数值模式。它会忽略字符串前面的空格,直至找到第一个非空格字符。如果第一个字符不是数字字符,parseInt()就会返回 NaN;也就是说,用 parseInt()转换空字符串会返回 NaN(Number()对空字符返回 0)。如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到了一个非数字字符。例如,"1234blue"会被转换为 1234,因为"blue"会被完全忽略。类似地,"22.5"会被转换为 22,因为小数点并不是有效的数字字符。
指定基数会影响到转换的输出结果。例如:
版权声明: 本文为 InfoQ 作者【黎燃】的原创文章。
原文链接:【http://xie.infoq.cn/article/a551877c51cb20175e6859118】。文章转载请联系作者。
评论