JavaScriptのparseIntで文字列を整数に変換するときは基数を指定しよう

JavaScriptのparseIntで文字列を整数に変換するときは基数を指定しよう。

parseIntは文字列を整数に変換する。

parseInt('123'); //=> 123
parseInt('3.14'); //=> 3
parseInt('42.195km'); //=> 42

parseIntは2番目の引数に基数を指定することができる。

//10進数
parseInt('20', 10); //=> 20
//8進数
parseInt('20', 8); //=> 16
//16進数
parseInt('20', 16); //=> 32

基数を指定しないときは、最初の文字が「0」のときは8進数と見なされる。

parseInt('10'); //=> 10進数「10」
parseInt('010'); //=> 8進数「8」

日付や時間を解析するプログラムを書いているとき、文字列の先頭に「0」が入ることがある。
その場合は、8進数で変換されてしまう。

parseInt('08'); //=> 0
parseInt('09'); //=> 0

このトラブルを避けるために、parseIntを使うときは、常に基数を指定するようにしよう。

parseInt('08', 10); //=> 8
parseInt('09', 10); //=> 9

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください