↑  ←  Описание функции


Int

Возвращает числовое (целое) представление выражения.

Int ( expression [, flag = 0 ] )

Параметры

expression Выражение для преобразования в целое число.
flag [необязательный] Указывает поведение.
Может быть одно из следующих значений:
Default = возвращает 32 или 64-битное целое число. См. примечания.
1 = возвращает 32-битное целое число.
2 = возвращает 64-битное целое число.

Возвращаемое значение

Успех:Возвращает целое число.

Примечания

Поведение по умолчанию является таким, что результат выражения в рамках 32-битного целого числа возвращает 32-битное целое число. В противном случае возвращается 64-битное целое число. Оба знаковые (имеют бит указывающий положительное или отрицательное число).
Дробная часть числа обрезается, поэтому Int(1.999999) возвращает 1
Int(0/0) возвращает -9223372036854775807, если интересно :).
Эта функция делает незначительную коррекцию чисел с плавающей точкой, учитывая неточность таких чисел. Например, выражение с плавающей точкой 0.7 + 0.2 + 0.1 создаёт число с плавающей точкой, но это не совсем 1.0. Функция Int() корректирует это отклонение, однако, в крайне редких случаях Int() возвращает неожиданное значение (шансы получить неожиданное значение меньше, чем если бы Int() не пыталась корректировать совсем).

См. также

Number, String, Round, HWnd, Binary, Ceiling, Floor, Ptr, Mod

Пример

$n = ''
; десятичная часть числа просто обрезается.
$n &= 'Int(10.793)  = ' & Int(10.793) & @LF ; возвращает 10
$n &= 'Int(1+2+10.8)    = ' & Int(1+2+10.8) & @LF ; возвращает 13
$n &= 'Int("1+2+10.8")  = ' & Int("1+2+10.8") & @LF ; возвращает 1
$n &= 'Int("3.14")      = ' & Int("3.14") & @LF ; возвращает 3
$n &= 'Int("-3.14") = ' & Int("-3.14") & @LF ; возвращает -3
$n &= 'Int(24/7)        = ' & Int(24/7) & @LF ; возвращает 3
$n &= 'Int("24/7")  = ' & Int("24/7") & @LF ; возвращает 24
$n &= 'Int("tmp3")  = ' & Int("tmp3") & @LF ; возвращает 0
$n &= 'Int("3tmp")  = ' & Int("3tmp") & @LF ; возвращает 3
$n &= 'Int(-3.8-4)      = ' & Int(-3.8-4) & @LF ; возвращает -7
$n &= 'Int("-3.8-4")    = ' & Int("-3.8-4") & @LF ; возвращает -3
$n &= 'Int("-3.8")      = ' & Int("-3.8") & @LF ; возвращает -3

MsgBox(64 + 4096, "Int", $n)