API Int - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Int
ClassicUO • Runtime API
Int(value) округляет число Basic вниз, к минус бесконечности.
Точный синтаксис
Int(value:Any) -> Integer
Параметры
value— Один обязательный аргумент: Integer/Decimal либо числовой текст. Десятичная точка не зависит от языка интерфейса. Нераспознанный текст, Array, Object и Unit преобразуются в 0; сначала проверяйте пользовательский ввод через IsNumeric.
Возвращает
Integer: floor(value), например 2.9 -> 2, -2.9 -> -3. Округлённое число должно помещаться в знаковый Int32; не используйте бесконечность, NaN и выход за диапазон.
Поведение
- Обе функции вычисляются локально без обращения к игре. Отсутствие аргумента — ошибка. Int() и Str() не читают характеристики: для этого служат UO.Int() и UO.Str(). Int проходит через BasicDouble и Math.Floor; Str выбирает соответствующую InternalSubrutines.Str с независимым от языка форматированием.
Примеры
Int — 1
# Int — 1
#
# Int(value) округляет число Basic вниз, к минус бесконечности.
#
# Integer: floor(value), например 2.9 -> 2, -2.9 -> -3. Округлённое число должно помещаться в
# знаковый Int32; не используйте бесконечность, NaN и выход за диапазон.
SUB Main()
# value=2.9. Int округляет положительную дробь вниз; Main возвращает Integer 2.
RETURN Int(2.9)
END SUB
Разбор параметров и выполнения:
- value=2.9. Int округляет положительную дробь вниз; Main возвращает Integer 2.
Int — 2
# Int — 2
#
# Int(value) округляет число Basic вниз, к минус бесконечности.
#
# Integer: floor(value), например 2.9 -> 2, -2.9 -> -3. Округлённое число должно помещаться в
# знаковый Int32; не используйте бесконечность, NaN и выход за диапазон.
SUB Main()
# value=-2.9. Округление вниз даёт -3, тогда как усечение к нулю дало бы -2. Main возвращает
# Integer -3.
VAR value = -2.9
RETURN Int(value)
END SUB
Разбор параметров и выполнения:
- value=-2.9. Округление вниз даёт -3, тогда как усечение к нулю дало бы -2. Main возвращает Integer -3.
Int — 3
# Int — 3
#
# Int(value) округляет число Basic вниз, к минус бесконечности.
#
# Integer: floor(value), например 2.9 -> 2, -2.9 -> -3. Округлённое число должно помещаться в
# знаковый Int32; не используйте бесконечность, NaN и выход за диапазон.
SUB Main()
# WholeUnits принимает total=27 и size=5. Неположительный size даёт 0; иначе Int(total/size)
# округляет 5.4 вниз. Main возвращает 5 полных единиц. Вспомогательная функция и оба её
# параметра показаны целиком.
RETURN WholeUnits(27,5)
END SUB
SUB WholeUnits(total,size)
IF size <= 0 THEN
RETURN 0
END IF
RETURN Int(total/size)
END SUB
Разбор параметров и выполнения:
- WholeUnits принимает total=27 и size=5. Неположительный size даёт 0; иначе Int(total/size) округляет 5.4 вниз. Main возвращает 5 полных единиц. Вспомогательная функция и оба её параметра показаны целиком.