> round()でも同様でした。 > OSの問題のようですね。 apacheの問題でもなければ PHPの問題でもなく、 OSの問題でもありません。 これは浮動小数点数の内部表現の問題です。 原則最上位ビットが1にして使用される数値部と 桁を表す10の累乗部から構成される浮動小数点数は 1.005という10進小数を正確に表すことができません。 したがってそれに最も近い値が代わりに用いられ、 1.004999...という値になります。 正確に取り扱いたいときにはBCDコードで数値を表現してから 計算に用いる必要があるでしょうが、 それはPHPのような簡易言語の範囲を超えているかもしれません。 (サポート状況を調べたわけではないのであしからず)