PHP Добавление 2 десятичных знаков (денег) дает неверные результаты в общей сумме
В моей базе данных MySQL есть таблица счетов клиентов с полем 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
}
когдаecho $totalAmount;
в последней сумме 0,01 она имеет небольшую ошибку, однако при работе с большими наборами данных около 20000 эта ошибка становится очень значительной, например 200+
Какой самый безопасный способ сделать это при работе с ценами и так далее с этими числами в PHP? Или я в конечном итоге буду иметь потенциальные ошибки округления и тому подобное, которые часто встречаются при работе с типами данных с плавающей запятой?
использует
round
number_format
самое подходящее решение для этого типа финансового приложения?