Функция CInt() работает неверно . точнее неверно округляет числа CInt(2.4) возвратит 2, а CInt(2.6) =3. Это верно, а теперь внимание - CInt(2.5) = 2, но CInt(3.5) = 4. На середине четные числа округляются до меньшего, а нечетные до большего значения.

Отдельное мнение Сергея Тулаева по этому поводу -
Функция CINT работает совершенно корректно. Она осуществляет так называемое "бухгалтерское округление".
Допустим, вы имеете 100 транзакций и вам нужно их округлить до целых. Округлив также сумму, вы получите "странный результат", когда сумма округленных чисел не равна округленной сумме.
Издавна существует способ, когда четные числа с 0.5 округляются в меньшую сторону, а нечетные - в большую. Команда разработчиков VB учла этот нюанс.
|
|