2011-06-22 9 views
2

可能性の重複:
Floating point inaccuracy examplesPHPの丸め問題 - これはバグですか?

私はラウンド(152.77499999999998,2を)言うなら答えは152.78になります。小数点以下3桁目を見ていないか、5以上の小数点以下四捨五入であれば、答えは152.77になるはずですか?

ありがとうございます。

+6

缶詰応答:すべてのバイナリ浮動小数点システムに内在する欠陥。 – BoltClock

答えて

1

あなたが行う必要があります。

round(152.77499999999998 * 100)/100 

を正確な数を取得します! :)

1

どんな内部表現でも、152.77499999999998は実際には152.77500001754のように折り畳まれています。丸めが上がる。