Сверочный скрипт находит расхождение в одну копейку там, где его нет
Коллега написал сверку: суммирует платежи из нашей выгрузки и из реестра провайдера, суммы в рублях с копейками.
ours = sum(float(x) for x in ["0.10", "0.20"])
theirs = 0.30
print(ours == theirs) # False
На реальных данных скрипт каждый день находит «расхождения» в доли копейки. Как исправить?
- Считать в копейках целыми или через Decimal
- Округлять каждое слагаемое до целых рублей
- Сравнивать суммы как строки после str()
- Заменить sum() на цикл со сложением
