Когда я пробую этот код:
A = 19 Mod 6.7
Результат 5, а должно быть 5.6 Может кто подскажет, что не так?
Когда я пробую этот код:
A = 19 Mod 6.7
Результат 5, а должно быть 5.6 Может кто подскажет, что не так?
Досадно, что VBA округляет 6.7
до 7
, так как у него нет функции модуля с плавающей запятой (сравните с Java).
По сути, он оценивает 19 Mod CInt(6.7)
, а CInt
использует немецкое округление, а не целочисленное усечение.
Если вы хотите продублировать поведение функции MOD на листе, см. VBA, эквивалентный функции Excel функция мода
MOD — целочисленная функция в VBA. Было бы лучше использовать:
a - (b * (a / b))