先頭にゼロがある Javascript parseInt() 質問する

先頭にゼロがある 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)

編集この質問がなされ、回答されて以来、8進基数をデフォルトとする「機能」は非推奨になりました。[1] [2]

ベストアンサー1

これは、数字が「0」で始まる場合、8 進数として扱われるためです。

ベースを 2 番目のパラメータとして渡すことで、ベースを強制することができます。

parseInt("09", 10) // 9

によるとドキュメント2番目のパラメータはオプションですが、常にではない例からわかるように、10 と想定されます。

おすすめ記事