1

コードは次のとおりです。

$val = 65.5401000000000001;
return round($val ,2);

私は 65.54 を期待していますが、65.54000000000001 を取得しています。なぜこのように機能するのですか?そして、期待値を取得する方法は?

4

1 に答える 1

5

precisionPHP.ini ファイルの設定値が高すぎます。これを防ぐには、デフォルトの 15 のままにしておくことをお勧めします。基本的に、あなたが見ているのは、浮動小数点数が実数を正確に処理できないという結果です。

于 2012-10-19T00:43:03.530 に答える