読者です 読者をやめる 読者になる 読者になる

parseInt()とゼロパディング10進数

JavaScript HTML ASP

懸命なみなさまは、タイトルだけでオチが読めちゃうかもしれませんが・・・

JavaScriptで"hh:mm"フォーマットの時刻(ただし、時間・分とも1桁を許容)をそれぞれ2桁に整形する処理を書いていたときのお話です。

"09:40"を整形しようとしてparseInt("09")をやってみるとゼロが返ってくる!!!
ぐぐってみると、http://www.b-s-c.co.jp/~moritake/oboegaki/h_js_clm03.htmlとか見つかりました。
parseInt()の第二引数を省略した場合は、プレフィックスをもとに基数は自動認識なんですね。16進数が"0x"で8進数が"0"の例のやつ。
第二引数を省略した場合は、ディフォルト値=10扱いになると勘違いしてました。(;_;)

類似障害見直しで第二引数なしのparseInt()をgrepしてみたら500件近く見つかりました。(^^;
なんと、RemoteScriptのScriptLibraryの中からも!

まぁ、ゼロパディングされていない10進数を扱う分には問題ないんですけどねー。
新たな火種を見つけてしまい、がっくしです。orz