1. ホーム
  2. javascript

[解決済み] Javascript の parseInt() で先頭のゼロを削除する。

2022-07-31 05:31:49

質問

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 ]

どのように解決するのですか?

これは、数字が「0」で始まる場合、8進数(ベース8)として扱われるからです。

第2引数に基数を渡すことで、強制的に基数を指定することができます。

parseInt("09", 10) // 9

によると ドキュメントによると によれば、第2パラメータはオプションですが、それは 常に は10であると仮定しています。