Ко мне пришла бухгалтер с калькулятором ... и мне стало стыдно.
Показываю концептуальный пример.
Код: Выделить всё
Map
MyTest(Real rSumma)
end
dSumma Decimal(10,2)
Code
dSumma = 2.01
!dSumma = 3.01 <- 1-е решение вопроса
MyTest(dSumma)
MyTest Procedure(Real rSumma)
lSumma Long
Code
!rSumma = 2.01 <- 2-е решение вопроса
lSumma = rSumma * 100
Message(rSumma & ' -> ' & rSumma * 100 & ' -> ' & lSumma)
Но самое интересное, что если указать сумму 3.01 или присвоить значение внутри функции,
то результат будет правильный: 2.01 -> 201 -> 201. Ошибка вернётся на числе 6.01 и т.д.
Кто-нибудь может объяснить этот результат ?
P/S: Кстати, это ошибка всплыла при работе с эквайрингом Сбера.
