2014年9月3日水曜日

JavaScriptで数値の桁あふれでハマった・・・

お好きなブラウザで確認できるので、一度試してみるといいかもしれません。

ブラウザの開発者ツールでコンソールを表示し、下記を入力して下さい。
var i = 1118918899790958592;

この数値がiという変数に格納されていると思いますよね。
では、そのままコンソールでiを出力してみてください。
> var i = 1118918899790958592;
> i
1118918899790958600
んっ!!!!!
ということで、10の位で丸められていますね。。。
どんな桁落ちだよ。

通常こんなでかい数字を扱うことはないと思うのですが、今回利用していたAPIの戻り値がJSONでそのID的なものが数値型でこの桁数という・・・。
やられたわー。
4時間くらい楽しんでしまった・・・。

0 件のコメント:

コメントを投稿