猿问

Javascript parseInt()前导零

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

你无法解释。试试看。(jsFiddle)


编辑由于提出并回答了这个问题,因此不建议使用默认值八进制基数的“功能”。[ 1 ] [ 2 ]


侃侃无极
浏览 1175回答 3
3回答

慕尼黑8549860

这是因为,如果数字以“ 0”开头,则将其视为基数8(八进制)。您可以通过将base作为第二个参数来强制使用base。parseInt("09", 10) // 9根据docs,第二个参数是可选的,但并不总是假定它为10,如您从示例中看到的那样。

RISEBY

有一个Radix参数parseInt(value, base)基数是基数。在这种情况下,您正在评估base10(十进制)数字,因此请使用parseInt(value, 10);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答