Сумма заказа в отчёте получается 10.199999999999999 вместо 10.20
В модели OrderItem задано protected $casts = ['price' => 'float'];, колонка в MySQL — DECIMAL(10,2). Итог заказа считается как $items->sum(fn ($i) => $i->price * $i->qty). В отчётах и чеках иногда появляются хвосты вроде 10.199999999999999.
Как считать деньги правильно?
- Считать в копейках или десятичными строками без float
- Округлять каждый результат через round(..., 2)
- Изменить тип колонки на DOUBLE
- Приводить цену к int, отбрасывая копейки
