Недавно у клиента возникла проблема с результатом вычисления (пропадала 1 копейка).
Стал копать и нашел то, от чего офигел:
Окр(411.79/6*3, 2, 1) = 205.89
Окр(411.79*3/6, 2, 1) = 205.9
без округления результат один и тот же: 411.79*3/6 = 205.895 и 411.79/6*3 = 205.895
Кто-нить вообще может это как-то это объяснить.
Релиз последний 7.70.027
Пораскинув мозгами пришел к выводу, что причина в ограничении разрядности числа в 7.7 и получении в результате деления 6 в периоде.
Кстати этот эффект (проблемой уже не называю) не только в 7.7. Написав небольшой запрос в SQL получил такой же результат:
SELECT ROUND(411.79 / 6 * 3, 2) = 205.89
SELECT ROUND(411.79 * 3 / 6, 2)) = 205.9
в 8-ке и excel такого нет, видимо какой-то другой механизм округления используется.
В общем господа программисты учитывайте это при разработке.
(4) правильнее результат получается когда ты большее число делишь на что то, т.е. сначала произведи все перемножения, а затем уже дели
ты еще в питоне попробуй посчитать числа с плавающей точкой - там вообще мозг завернется