2010年7月11日日曜日

PHPで32bitを超える数値を扱う場合の注意点

今日しごとで出た問題なんですけど、PHPintval()って環境に関係なく32bitで丸められるみたいなんですよね。
下記のコードを実行してみてください

$a = 123456789;
 $b = $a * 100;
 print_r($b);
 print_r(intval($b))

正しく表示されてたらすいません。
未確認ですが、intval()だけじゃなくてsprintf()などの%dも同様の問題が有るみたいです。、

0 件のコメント:

コメントを投稿