Арифметика с плавающей точкой.
a = (151.2 * 100)
Print Int(a)
15119
Print a
15120
Print a = 15120
False
Не существует числа с двойной точностью, которое представляло бы результат 151.2 * 100
точно так же, как 15120. Ближайшее число, по-видимому, чуть меньше 15120. Когда вы Int
его, оно усекается, то есть округляется до 15119.
Вместо усечения вы можете округлить:
Print CInt(a)
15120
Print Round(a)
15120
Обратите внимание, что если у вас есть переменная i
типа Integer и вы просто говорите i = 151.2 * 100
, как вы предлагаете, то вы неявно приводите результат к целому числу, то есть неявно говорите i = CInt(151.2 * 100)
. Я думаю, что лучше практиковать быть явным.