Skip to content

API IsNumeric uk

Codex edited this page Sep 23, 2026 · 1 revision

IsNumeric

ClassicUO / Basic IDE

Home · API · Basic

Перевіряє числовий ввід перед використанням як кількості, інтервалу чи обмеження.

Точний синтаксис

IsNumeric(value:Any) -> Integer

Параметри

  • value — Один обов’язковий аргумент будь-якого виду runtime. Integer/Decimal завжди приймаються. String допускає знак, крапку, пробіли по краях та експоненту незалежно від мови. Кома, шістнадцятковий текст, порожній текст, Array, Object та Unit не приймаються.

Повертає

Integer 1 (True) для числа або числового тексту, інакше 0 (False). Можна писати IF result, result = True чи result = 1. NaN, Infinity і надмірна експонента можуть пройти: це перевірка запису й типу, а не скінченності чи ігрового діапазону.

Поведінка

  • Один обов’язковий аргумент будь-якого виду runtime. Integer/Decimal завжди приймаються. String допускає знак, крапку, пробіли по краях та експоненту незалежно від мови. Кома, шістнадцятковий текст, порожній текст, Array, Object та Unit не приймаються.
  • Integer 1 (True) для числа або числового тексту, інакше 0 (False). Можна писати IF result, result = True чи result = 1. NaN, Infinity і надмірна експонента можуть пройти: це перевірка запису й типу, а не скінченності чи ігрового діапазону.

Внутрішні функції: від виклику до результату

Перевіряє числовий ввід перед використанням як кількості, інтервалу чи обмеження.

1. BasicIsNumeric

Один обов’язковий аргумент будь-якого виду runtime. Integer/Decimal завжди приймаються. String допускає знак, крапку, пробіли по краях та експоненту незалежно від мови. Кома, шістнадцятковий текст, порожній текст, Array, Object та Unit не приймаються.

Integer 1 (True) для числа або числового тексту, інакше 0 (False). Можна писати IF result, result = True чи result = 1. NaN, Infinity і надмірна експонента можуть пройти: це перевірка запису й типу, а не скінченності чи ігрового діапазону.

Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; функція BasicIsNumeric.

Приклади

IsNumeric — 1

# IsNumeric1
#
# Перевіряє числовий ввід перед використанням як кількості, інтервалу чи обмеження.
#
# Integer 1 (True) для числа або числового тексту, інакше 0 (False). Можна писати IF result,
# result = True чи result = 1. NaN, Infinity і надмірна експонента можуть пройти: це перевірка
# запису й типу, а не скінченності чи ігрового діапазону.

SUB Main()
    # Запис " -1.5e2 " зі знаком і експонентою повертає 1. Це не означає, що ігрова дія дозволяє
    # від’ємну кількість.

    RETURN IsNumeric(" -1.5e2 ")
END SUB

Пояснення параметрів і виконання:

  • Запис " -1.5e2 " зі знаком і експонентою повертає 1. Це не означає, що ігрова дія дозволяє від’ємну кількість.

IsNumeric — 2

# IsNumeric2
#
# Перевіряє числовий ввід перед використанням як кількості, інтервалу чи обмеження.
#
# Integer 1 (True) для числа або числового тексту, інакше 0 (False). Можна писати IF result,
# result = True чи result = 1. NaN, Infinity і надмірна експонента можуть пройти: це перевірка
# запису й типу, а не скінченності чи ігрового діапазону.

SUB Main()
    # Текст "0x0EED" повертає 0. Для графіки предмета у шістнадцятковому тексті використовуйте
    # відповідне перетворення ID/type.

    RETURN IsNumeric("0x0EED")
END SUB

Пояснення параметрів і виконання:

  • Текст "0x0EED" повертає 0. Для графіки предмета у шістнадцятковому тексті використовуйте відповідне перетворення ID/type.

IsNumeric — 3

# IsNumeric3
#
# Перевіряє числовий ввід перед використанням як кількості, інтервалу чи обмеження.
#
# Integer 1 (True) для числа або числового тексту, інакше 0 (False). Можна писати IF result,
# result = True чи result = 1. NaN, Infinity і надмірна експонента можуть пройти: це перевірка
# запису й типу, а не скінченності чи ігрового діапазону.

SUB Main()
    # ReadQuantity отримує text="25", maximum=100. Приймається лише скінченне ціле число в
    # 1..maximum, результат Integer 25. Порожній текст, NaN, дріб і перевищення межі дають -1 до дій
    # із предметами.

    RETURN ReadQuantity("25",100)
END SUB

SUB ReadQuantity(text,maximum)
    IF NOT IsNumeric(text) THEN
        RETURN -1
    END IF
    IF NOT IsNumeric(maximum) THEN
        RETURN -1
    END IF
    VAR limit = CDbl(maximum)
    IF CStr(limit) = "NaN" OR limit < 1 OR limit > 2147483647 THEN
        RETURN -1
    END IF
    VAR quantity = CDbl(text)
    IF CStr(quantity) = "NaN" OR quantity < 1 OR quantity > limit THEN
        RETURN -1
    END IF
    IF quantity <> Fix(quantity) THEN
        RETURN -1
    END IF
    RETURN CInt(quantity)
END SUB

Пояснення параметрів і виконання:

  • ReadQuantity отримує text="25", maximum=100. Приймається лише скінченне ціле число в 1..maximum, результат Integer 25. Порожній текст, NaN, дріб і перевищення межі дають -1 до дій із предметами.

Русский · English · Українська · Français · Deutsch · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally