Подтвердить что ты не робот

ASP/VBScript - Int() vs CInt()

В чем разница в ASP/VBScript между Int() и CInt()?

4b9b3361

Ответ 1

Функция Int возвращает целочисленную часть указанного числа.

Функция CInt преобразует выражение в тип Integer.

И лучший ответ исходит из MSDN

CInt отличается от функций Fix и Int, которые усекают, а не округляют, дробную часть числа. Когда дробная часть равна 0,5, функция CInt всегда округляет ее до ближайшего четного числа. Например, от 0,5 раундов до 0 и от 1,5 раундов до 2.

Ответ 3

Вот еще одно отличие:

Script:

wscript.echo 40.91 * 100
wscript.echo Int(40.91 * 100)
wscript.echo CInt(40.91 * 100)

результат:

4091
4090   (????)
4091

Любые мысли?

Ответ 4

Обычный ответ для этой проблемы - принудительное повторное округление вручную. Эта проблема так же стара, как FORTRAN.

Вместо

a = int(40.91 * 100)

Использование

b = 40.91 * 100
a = int(b + 0.5)

Очень старый трюк, по-прежнему полезный в электронных таблицах Excel время от времени.