本文介绍了带有前导零的Javascript parseInt()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Javascript的parseInt函数似乎不能完全正常工作。
Javascript's parseInt function does not seem to completely work.
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
你无法解释。
编辑由于此问题已被询问和回答,因此不推荐使用默认为八进制基数的功能 。 [] []
Edit Since this question was asked and answered, the "feature" of defaulting to octal radix has been deprecated. [1] [2]
推荐答案
这是因为如果数字以'0'开头,则将其视为基数8(八进制)。
This is because if a number starts with a '0', it's treated as base 8 (octal).
您可以通过将基数作为第2个来强制基数参数。
You can force the base by passing the base as the 2nd parameter.
parseInt("09", 10) // 9
根据,第二个参数是可选的,但它的并不总是假设为10,正如您从示例中看到的那样。
According to the docs, the 2nd parameter is optional, but it's not always assumed to be 10, as you can see from your example.
这篇关于带有前导零的Javascript parseInt()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!