parceIntの注意点

parceIntとは文字列の引数をパースし、指定された基数の整数を返します。
フォームから数値を受け取って計算するとき数値に変換させたりするんですがそこで注意点がひとつ。

parceIntは第二引数に基数を設定することが出来ます。

//2進数
parseInt('100', 2); // 4

//8進数
parseInt('100', 8); // 64

//10進数
parseInt('100', 10); // 100

//16進数
parseInt('100', 16); // 256

もし文字列の先頭に「0」が入って来た場合
0から始まる数値文字列が8進数で解釈されてしまう場合があります。
※ECMAScript5で8進数としての解釈を許す表現が仕様から削除され必ず8進数になるとは限りません。

// ブラウザによって8だったり0だったり
parseInt('08');

なるべく基数を指定しておきましょう。

Author