Skip to content

API IsNumeric it

Codex edited this page Sep 23, 2026 · 1 revision

IsNumeric

ClassicUO / Basic IDE

Home · API · Basic

Controlla un input prima di usarlo come quantità, intervallo o limite.

Sintassi esatta

IsNumeric(value:Any) -> Integer

Parametri

  • value — Un argomento obbligatorio di qualsiasi tipo runtime. Integer/Decimal sono sempre numerici. String accetta segno, punto, spazi esterni ed esponente. Virgola, testo esadecimale, testo vuoto, Array, Object e Unit non passano.

Restituisce

Integer 1 (True) per numeri o testo numerico valido, altrimenti 0 (False). Si possono usare IF result, result = True e result = 1. NaN, Infinity e un esponente eccessivo possono passare: non controlla finitezza o limiti di gioco.

Comportamento

  • Un argomento obbligatorio di qualsiasi tipo runtime. Integer/Decimal sono sempre numerici. String accetta segno, punto, spazi esterni ed esponente. Virgola, testo esadecimale, testo vuoto, Array, Object e Unit non passano.
  • Integer 1 (True) per numeri o testo numerico valido, altrimenti 0 (False). Si possono usare IF result, result = True e result = 1. NaN, Infinity e un esponente eccessivo possono passare: non controlla finitezza o limiti di gioco.

Funzioni interne: dalla chiamata al risultato

Controlla un input prima di usarlo come quantità, intervallo o limite.

1. BasicIsNumeric

Un argomento obbligatorio di qualsiasi tipo runtime. Integer/Decimal sono sempre numerici. String accetta segno, punto, spazi esterni ed esponente. Virgola, testo esadecimale, testo vuoto, Array, Object e Unit non passano.

Integer 1 (True) per numeri o testo numerico valido, altrimenti 0 (False). Si possono usare IF result, result = True e result = 1. NaN, Infinity e un esponente eccessivo possono passare: non controlla finitezza o limiti di gioco.

Sorgente del progetto: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; funzione BasicIsNumeric.

Esempi

IsNumeric — 1

# IsNumeric1
#
# Controlla un input prima di usarlo come quantità, intervallo o limite.
#
# Integer 1 (True) per numeri o testo numerico valido, altrimenti 0 (False). Si possono usare IF
# result, result = True e result = 1. NaN, Infinity e un esponente eccessivo possono passare:
# non controlla finitezza o limiti di gioco.

SUB Main()
    # " -1.5e2 " con segno ed esponente  1, ma non autorizza quantità negative nelle azioni di
    # gioco.

    RETURN IsNumeric(" -1.5e2 ")
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • " -1.5e2 " con segno ed esponente dà 1, ma non autorizza quantità negative nelle azioni di gioco.

IsNumeric — 2

# IsNumeric2
#
# Controlla un input prima di usarlo come quantità, intervallo o limite.
#
# Integer 1 (True) per numeri o testo numerico valido, altrimenti 0 (False). Si possono usare IF
# result, result = True e result = 1. NaN, Infinity e un esponente eccessivo possono passare:
# non controlla finitezza o limiti di gioco.

SUB Main()
    # "0x0EED"  0. Per la grafica esadecimale usare una conversione ID/type adatta.

    RETURN IsNumeric("0x0EED")
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • "0x0EED" dà 0. Per la grafica esadecimale usare una conversione ID/type adatta.

IsNumeric — 3

# IsNumeric3
#
# Controlla un input prima di usarlo come quantità, intervallo o limite.
#
# Integer 1 (True) per numeri o testo numerico valido, altrimenti 0 (False). Si possono usare IF
# result, result = True e result = 1. NaN, Infinity e un esponente eccessivo possono passare:
# non controlla finitezza o limiti di gioco.

SUB Main()
    # ReadQuantity riceve text="25", maximum=100 e restituisce Integer 25. Accetta solo interi
    # finiti in 1..maximum; testo vuoto, NaN, frazioni e superamento del massimo danno -1 prima di
    # azioni sugli oggetti.

    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

Spiegazione dei parametri e dell’esecuzione:

  • ReadQuantity riceve text="25", maximum=100 e restituisce Integer 25. Accetta solo interi finiti in 1..maximum; testo vuoto, NaN, frazioni e superamento del massimo danno -1 prima di azioni sugli oggetti.

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

Clone this wiki locally