Сведения о вопросе

Solllo

10:39, 5th August, 2020

Теги

АСП/VBScript - Int() против CInt()

Просмотров: 586   Ответов: 4

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



  Сведения об ответе

screen

02:10, 16th August, 2020

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

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

И самый лучший ответ приходит от MSDN

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


  Сведения об ответе

LAST

05:20, 4th August, 2020

И самое главное отличие (по крайней мере, 27) ... состоит в том, что CInt переполняется на 32 767.


  Сведения об ответе

$DOLLAR

18:11, 24th August, 2020

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

Вместо

a = int(40.91 * 100)

Воспользуйся

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

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


  Сведения об ответе

fo_I_K

19:24, 19th August, 2020

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

Скрипт:

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

результат:

4091
4090   (????)
4091

Есть какие-нибудь мысли?


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться