有人可以解释为什么 javascript 将parseInt(08)
和解释parseInt(09)
为零,但在 01 到 07 上一切正常吗?
parseFloat
会给我这些值的正确值,我只是找不到答案,为什么 javascript 只会对 8s 和 9s 这样做。
供您参考:前导零来自时间(小时:分钟)。
请查看以下链接以获得更好的示例:http: //jsfiddle.net/NPtzA/3/ 在那里您可以看到这种意外行为。
有人可以解释为什么 javascript 将parseInt(08)
和解释parseInt(09)
为零,但在 01 到 07 上一切正常吗?
parseFloat
会给我这些值的正确值,我只是找不到答案,为什么 javascript 只会对 8s 和 9s 这样做。
供您参考:前导零来自时间(小时:分钟)。
请查看以下链接以获得更好的示例:http: //jsfiddle.net/NPtzA/3/ 在那里您可以看到这种意外行为。
parseInt
返回 0,因为该函数试图确定它正在查看的数值系统的正确基数。
不管是不是好事,以 0 开头的 JavaScript 数字都被认为是八进制,这意味着没有 08 或 09。
希望有帮助。
编辑:查看我对你的小提琴的编辑,它添加了10
参数以parseInt
更改它使用的数值系统http://jsfiddle.net/jbrooksuk/NPtzA/5/