福岡 ワードプレス システム開発 株式会社ジーティーアイ のブログ

JavaScriptでparseIntすると8進数になってしまい、ハマった件

JavaScriptのparseIntメソッドは0から始まる文字列をいれると8進数変換してしまう仕様だった。

ブラウザのアドレスバーで試せます。
javascript:alert(parseInt(’08’));
これは 8 ですが
javascript:alert(parseInt(’09’));
は 0 で
javascript:alert(parseInt(‘010’));
は 8 です。

Javaの Integer.parseInt では ’010′ を代入すると 10 になるので
そのままだと思っていたら大間違いでした・・・

Integer.parseInt(‘010’, 8); と同じ挙動ということですね。

この記事をシェアする

記事一覧へ戻る

関連記事 Relation Entry

IP あなたが接続中のIPアドレス:216.73.216.31