parseint的javascript问题

时间:2011-06-12 17:24:40

标签: javascript

  

可能重复:
  Workarounds for JavaScript parseInt octal bug

我正在尝试解析整数。

a = parseInt("0005")  <- gives 5
a = parseInt("0008")  <- gives 0

有人可以解释发生了什么吗?这对我没有任何意义。

2 个答案:

答案 0 :(得分:2)

parseInt前导0并且未指定基数参数时,它假定您要将数字转换为八进制。相反,你应该总是指定一个基数参数:

a = parseInt("0008", 10) // => 8

答案 1 :(得分:1)

除非您指定要使用的基数,否则以parseInt解析以0开头的数字。

您可以通过执行

强制parseInt解析为十进制
a = parseInt("0008", 10)