可能重复:
Workarounds for JavaScript parseInt octal bugJavaScript的问题parseInt函数
我试图解析的整数。
a = parseInt("0005") <- gives 5
a = parseInt("0008") <- gives 0
有人可以解释发生了什么?这对我没有任何意义。
可能重复:
Workarounds for JavaScript parseInt octal bugJavaScript的问题parseInt函数
我试图解析的整数。
a = parseInt("0005") <- gives 5
a = parseInt("0008") <- gives 0
有人可以解释发生了什么?这对我没有任何意义。
除非您指定要使用的基数,否则以0开头的数字将被解析为parseInt
的八进制数。
您可以通过执行
a = parseInt("0008", 10)
当parseInt
拥有国内领先的0,而不是指定基数参数,它假定您希望将数字转换为八进制强制parseInt函数解析为十进制。相反,你应该总是指定一个基数参数像这样:
a = parseInt("0008", 10) // => 8
谢谢Pekka。这解决了这个问题。你可以添加你的评论作为答案,所以我可以接受它并关闭问题。 – 2011-06-12 17:30:02