(1000000000000000128).toString() //=> "1000000000000000100" ?
 JavaScriptのテクニック集のサイトを見ながら色々試していたら、以下のような謎の挙動に出会った。

(1000000000000000128).toString() 
//=> "1000000000000000100"


 うーん、これってどういう事何だろ?最後の二桁が落ちちゃってる。精度の関係?

 MDC の Numberオブジェクトの項を確認してみたり、ググってみたりしたけど、よく分からんかった。

 色々試してみると、IEとFireFoxでも、挙動が異なる。

 試したコード

var print = (function (){
if("console" in window){
return function(str){console.log(str)};
}
else if ("jash" in window){
return function(str){jash.print(str)};
}
else{
return function(str){a lert(str)};
}
})();

var a = "100000000000000019";
for (var i = 0; i < 5; i++){
var str = a + i;
print(str + " => " + parseInt(str));
}


結果
IE (with jash)

1000000000000000190 => 1000000000000000100
1000000000000000191 => 1000000000000000100
1000000000000000192 => 1000000000000000200
1000000000000000193 => 1000000000000000200
1000000000000000194 => 1000000000000000200

FireFox (with FireBug)

1000000000000000190 => 1000000000000000100
1000000000000000191 => 1000000000000000100
1000000000000000192 => 1000000000000000300
1000000000000000193 => 1000000000000000300
1000000000000000194 => 1000000000000000300


うーーん、謎。
何か知っている人がいたら、教えて下さい。
[PR]
by fkmn | 2007-06-25 23:37 | IT
<< 【感想】ファイナルファンタジー... もやしもん5巻発売 >>


とあるWebアプリケーションエンジニアの日記
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
プログラミングが「出来る..
from とりあえず9JP?
Genographic ..
from ナンジャモンジャ
ジュセリーノ
from ありの出来事
くちこみブログ集(ライフ..
from くちこみブログ集(ライフ)(..
以降、丁寧語で行こう!
from エッセイ的な何か
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX