Javascript 的 parseInt 函数似乎没有完全起作用。
parseInt("01") returns 1
parseInt("02") returns 2
parseInt("03") returns 3
parseInt("04") returns 4
parseInt("05") returns 5
parseInt("06") returns 6
parseInt("07") returns 7
parseInt("08") returns 0
parseInt("09") returns 0
你无法解释。 Give it a try. (jsFiddle)
最佳答案
这是因为如果一个数字以“0”开头,它将被视为以 8 为基数(八进制)。
您可以通过将基数作为第二个参数传递来强制使用基数。
parseInt("09", 10) // 9
根据 the docs ,第二个参数是可选的,但它并不总是假定为 10,正如您从示例中看到的那样。
关于带有前导零的 Javascript parseInt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8763396/