бгг, помните пляски с округлениями, которые я предлагал здесь одному джуну в связи с тыинками?
вы тогда еще меня спрашивали - зачем так сложно делать?
повторю: мой вариант железобетонный, провереный временем и банком...
а на грабли эти, с округлением денег (и вообще вещественных чисел), наступают все.
и даже больше.
чего стоит один только неправильно работающий индикатор выполнения долгих процессов показывающий 100%, когда на самом деле там 99,6%.
100% - это значит все, амба, конец, закончил все дела.
в таких индикаторах надо делать trunc() вместо round().
обычно всем похуй, но в 0.05 случаях это бывает существенно и принципиально важно.
приходится выбирать из двух говен меньше воняющее )
быстро, читаемо, правильно - выбрать две опции будет стоить в три раза дороже одной. все три опции нельзя выбрать никогда.
https://habr.com/ru/post/478878