parseInt('1') = 1
parseInt('01') = 1
parseInt('5') = 5
parseInt('05') = 5
parseInt('8') = 8
但为什么:
parseInt('08') = 0
parseInt('09') = 0
答案 0 :(得分:11)
始终使用将基数作为第二个参数的重载:
parseInt('011',10) = 11
答案 1 :(得分:9)
这是一个提示:
parseInt('011') = 9
如果从0开始,则将其解析为八进制数。
答案 2 :(得分:8)
以0
开头的数字(不是0x
)是八进制数字。因此8
和9
不是有效的八进制数。
答案 3 :(得分:1)
在JavaScript中将字符串转换为十进制数时,您可以使用加号运算符代替parseInt或parseFloat,如下例所示:
x = +(“12”); //从字符串“12”
转换后,为x分配了一个数字12x = +(“1”+“2”); //从字符串“12”
转换后,为x分配了一个数字12答案 4 :(得分:0)
其他人已经回答了原因。
要删除,您可以使用parseFloat
()或parseInt(value,base)
Fiddle