MySQL データベースに、price という名前の DECIMAL(10,2) フィールドを持つ顧客請求書テーブルがあります。
これらの値をphpで取得して合計金額を計算すると、
例: スクリプト内
$totalAmount = 0; // initialised them to
while(records){
$amount = $inv_amount - ($pay_amount + $onamount); //float i guess. 2.22, 14.22
$totalAmount = $totalAmount + $amount; //float i guess. 2.22, 14.22 ..etc
}
最終的な量 0.01 にわずかな誤差がある場合echo $totalAmount;
、しかし 20,000 前後の大きなデータセットを扱う場合、この誤差は 200+ など非常に大きくなります。
PHPでこれらの数値を使用して価格などを処理する場合、これを行う最も安全な方法は何ですか? それとも、浮動小数点データ型を扱うときに一般的な丸めエラーやそのようなものになる可能性がありますか?
使っている
round
number_format
は、このタイプの金融アプリケーションに最適なソリューションですか?