So-net無料ブログ作成
検索選択

parseInt()には基底値10を。 [技術メモ]

技術メモがすべてjavaScript、HTML、CSSに関連することになっているのは
新しい技術がいろいろでてきたり、ブラウザ依存の問題が多かったりするというのもあるけど
単に好きだからなんだろう。
そして、これはとても有名な既知の問題(?)だろうけれど、忘れないためにメモっときます。

parseInt()のメソッドを使用するときに、変換対象値が
0始まりだと8進数、0x始まりだと16進数と判断されます。

でも、ここ日本において0始まりの数値も10進数として使うことがほとんどなわけで
このことを知らずに使ってしまうと意図せず"08"とか"09"が「0」になってしまうのです。
怖いですね。「01」で動かしてても「08」でも動かしとかないとアウトです。

第二引数に10を基底値として指定してあげることで回避することができます。これだけ。

parseInt(value, 10);

コメント(2) 

コメント 2

miyamomo_2

nice!
by miyamomo_2 (2008-02-10 14:20) 

tama

ないすじゃないっす。。orz
by tama (2008-02-10 16:44) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。