0

可能重复:
Javascript parseInt 给出了非常意外的结果

有人可以解释为什么 javascript 将parseInt(08)和解释parseInt(09)为零,但在 01 到 07 上一切正常吗?

parseFloat会给我这些值的正确值,我只是找不到答案,为什么 javascript 只会对 8s 和 9s 这样做。

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

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

4

1 回答 1

0

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

不管是不是好事,以 0 开头的 JavaScript 数字都被认为是八进制,这意味着没有 08 或 09。

希望有帮助。

编辑:查看我对你的小提琴的编辑,它添加了10参数以parseInt更改它使用的数值系统http://jsfiddle.net/jbrooksuk/NPtzA/5/

于 2011-05-09T09:41:06.707 回答