# PHP Version 5.2.9
$a = 0.6/0.1;
$b = $a % 5;
print "\$a=$a; \$b=$b\n";
# result:
# $a=6; $b=0 # One should expect $b = 1
$a = 0.6/0.1;
$a = round($a);
$b = $a % 5;
print "\$a=$a; \$b=$b\n";
# result:
# $a=6; $b=1 # result as expected
最初のケースで結果が $b=0 になるのはなぜですか。
そして、なぜ round() 関数が問題を解決しているように見えるのでしょうか?