Коллеги, столкнулся с такой же проблемой, при расчетах для бухгалтерии: в актах постоянно возникала ошибка на 1 копейку. Опытным путем пришли к следующему. В калькуляторе:
round(156417.5/100*3,2) = 4 692,52000000000060 : округление некорректно с т.з. математики и его величества ГЛАВНОГО БУХГАЛТЕРА
при этом
round(156417.5*3/100,4) = 4 692,52500000000060
это навело на мысль попробовать вариант:
round(round(156417.5*3/100,4),2) = 4 692,53000000000000 а это то, что нужно подать в акт :-)
Вариант через Format("%.2f", X) не подошел т.к. после округлений нужно делать расчеты, а обрамление VAL(Format("%.2f", X)) возвращал ошибку, т.е. VAL(Format("%.2f", 156417.5*3/100)) = 4 692,52000000000060