JavaScript有三种将其它类型转换为数字类型的方式:parseInt()
parseFloat()
Number()
。parseInt()
与parseFloat()
只能在 String 类型上调用。而Number()
不仅限于 String 类型,比如Date
类型上也可以使用。
parseInt()
在判断字符串是否是数字值前,parseInt()
和parseFloat()
都会仔细分析该字符串。
parseInt()
方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回NaN
,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()
将把该字符之前的字符串转换成数字。
例如,如果要把字符串 “12345red” 转换成整数,那么parseInt(
)将返回 12345,因为当它检查到字符 r 时,就会停止检测过程。
字符串中包含的数字字面量会被正确转换为数字,比如 “0xA” 会被正确转换为数字 10。不过,字符串 “22.5” 将被转换成 22,因为对于整数来说,小数点是无效字符。