« 6030系の準特急【5】 | トップページ | 7000系8+2の通勤快速 »

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

|

« 6030系の準特急【5】 | トップページ | 7000系8+2の通勤快速 »

パソコン・インターネット」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/64930/17741779

この記事へのトラックバック一覧です: parseIntの挙動:

« 6030系の準特急【5】 | トップページ | 7000系8+2の通勤快速 »