parseIntの挙動
鉄道研究室の「ステンレスの光輝」で公開している2008年1月5日撮影の軌道信号機と発条転轍機(スプリングポイント)の写真を別窓で表示すると、撮影日が2000年1月5日になるバグが生じました。デバッグすると、javascriptソース中のparseInt関数が期待通りの動作をしていないことが判明しました。
parseInt('07') → 7
parseInt('08') → 0
parseInt('09') → 0
parseInt('84') → 84
parseInt関数は引数で与えられた文字列を数値に変換する関数です。書式は
parseInt (expression: String [, radix: Number])
で、第2引数radixを省略したときは、第1引数expressionの先頭が0のときは8進数、0xのときは16進数、それ以外は10進数として解釈します。
上記の例でradixを与えると期待通りの動作になりました。
parseInt('07', 10) → 7
parseInt('08', 10) → 8
parseInt('09', 10) → 9
parseInt('84', 10) → 84
| 固定リンク
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/64930/17741779
この記事へのトラックバック一覧です: parseIntの挙動:
