Javascript中的parseInt不会返回预期值

时间:2011-05-09 09:38:09

标签: javascript parseint

  

可能重复:
  Javascript parseInt gives very unexpected results

有人可以解释为什么javascript会将parseInt(08)parseInt(09)解释为零但是在01到07之间做的一切正确吗?

parseFloat会为这些值提供正确的值,我找不到答案,为什么javascript只会对8s和9s执行此操作。

供您参考:前导零是时间(小时:分钟)。

请查看以下链接以获得更好的示例:http://jsfiddle.net/NPtzA/3/ 在那里你可以看到这种意想不到的行为。

1 个答案:

答案 0 :(得分:0)

parseInt返回0,因为该函数正在尝试确定它正在查看的数字系统的正确基础。

无论是否好,带有前导0的JavaScript数字都被视为八进制,这意味着没有08或09。

希望有所帮助。

修改:查看我对您的小提琴的编辑,将10参数添加到parseInt以更改其使用的数字系统http://jsfiddle.net/jbrooksuk/NPtzA/5/