BACK
2016-03-08
Javaのzerofill数値は8進数
Javaで、
long hoge = 01000000000L;
としたら、134217728が入っていた。
ネットの海をさまよってみたら、0頭の数値は8進数と書いてあった。。。
16進数は0xとしてるのに、何故8は0だけにした! おのれえええ。
最初は0頭だとちゃんとlongにならないのかな、とか
いろいろ余計なことを調べてたら、恐ろしく時間がかかってしまった。
みなさんは気をつけてね。
ちなみに、Long.parseLong(String)は期待どおり?なので安心してほしい。
long hoge = Long.parseLong("01000000000"); //1000000000
※
なんだJavaの話か。。。と安心したそこのあなた。JavaScriptでこれやってみて。
var hoge = 011;
alert(home); //9
どうです、背筋がヒャーッとしてきたでしょう。。。
[追記]
やばい。
alert(018); //18
alert(017); //15
10進数っぽいのは10進数にしといたよ!
おいやめろ。
[さらに追記]
alert("018"*1); //18
alert("011"*1); //11
alert("0x11"*1); //17
ちょっと安心した。
Comments
BACK