7

可能重复:
JavaScript 函数 parseInt() 无法正确解析前导 0 的数字

在 JS 中解析时出现奇怪的问题。

parseInt("08")
//The result is: 0

parseInt("07")
//The result is: 7

为什么会这样?

4

1 回答 1

11

因为 0 前缀。它告诉Javascript这个数字是八进制的,以8为底。8 不是合法的八进制数字。

改为使用parseInt("8"),或如@Gumbo 正确指出的那样 -parseInt("08", 10)

于 2012-09-29T11:30:30.603 回答