Skip to content

API IsNumeric de

Codex edited this page Sep 23, 2026 · 1 revision

IsNumeric

ClassicUO / Basic IDE

Home · API · Basic

Prüft eine Eingabe vor der Verwendung als Menge, Zeitintervall oder Grenze.

Genaue Syntax

IsNumeric(value:Any) -> Integer

Parameter

  • value — Ein erforderlicher Wert beliebiger Laufzeitart. Integer/Decimal gelten immer als numerisch. String erlaubt Vorzeichen, Punkt, äußere Leerzeichen und Exponent. Komma, hexadezimaler Text, leerer Text, Array, Object und Unit werden abgelehnt.

Rückgabewert

Integer 1 (True) für Zahlen oder lesbaren Zahlentext, sonst 0 (False). IF result, result = True und result = 1 sind möglich. NaN, Infinity und überlaufende Exponenten können bestehen: keine Prüfung auf Endlichkeit oder Spielgrenzen.

Verhalten

  • Ein erforderlicher Wert beliebiger Laufzeitart. Integer/Decimal gelten immer als numerisch. String erlaubt Vorzeichen, Punkt, äußere Leerzeichen und Exponent. Komma, hexadezimaler Text, leerer Text, Array, Object und Unit werden abgelehnt.
  • Integer 1 (True) für Zahlen oder lesbaren Zahlentext, sonst 0 (False). IF result, result = True und result = 1 sind möglich. NaN, Infinity und überlaufende Exponenten können bestehen: keine Prüfung auf Endlichkeit oder Spielgrenzen.

Interne Funktionen: vom Aufruf zum Ergebnis

Prüft eine Eingabe vor der Verwendung als Menge, Zeitintervall oder Grenze.

1. BasicIsNumeric

Ein erforderlicher Wert beliebiger Laufzeitart. Integer/Decimal gelten immer als numerisch. String erlaubt Vorzeichen, Punkt, äußere Leerzeichen und Exponent. Komma, hexadezimaler Text, leerer Text, Array, Object und Unit werden abgelehnt.

Integer 1 (True) für Zahlen oder lesbaren Zahlentext, sonst 0 (False). IF result, result = True und result = 1 sind möglich. NaN, Infinity und überlaufende Exponenten können bestehen: keine Prüfung auf Endlichkeit oder Spielgrenzen.

Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; Funktion BasicIsNumeric.

Beispiele

IsNumeric — 1

# IsNumeric1
#
# Prüft eine Eingabe vor der Verwendung als Menge, Zeitintervall oder Grenze.
#
# Integer 1 (True) für Zahlen oder lesbaren Zahlentext, sonst 0 (False). IF result, result =
# True und result = 1 sind möglich. NaN, Infinity und überlaufende Exponenten können bestehen:
# keine Prüfung auf Endlichkeit oder Spielgrenzen.

SUB Main()
    # " -1.5e2 " mit Vorzeichen und Exponent ergibt 1. Das erlaubt noch keine negative Menge in
    # einer Spielaktion.

    RETURN IsNumeric(" -1.5e2 ")
END SUB

Erläuterung der Parameter und Ausführung:

  • " -1.5e2 " mit Vorzeichen und Exponent ergibt 1. Das erlaubt noch keine negative Menge in einer Spielaktion.

IsNumeric — 2

# IsNumeric2
#
# Prüft eine Eingabe vor der Verwendung als Menge, Zeitintervall oder Grenze.
#
# Integer 1 (True) für Zahlen oder lesbaren Zahlentext, sonst 0 (False). IF result, result =
# True und result = 1 sind möglich. NaN, Infinity und überlaufende Exponenten können bestehen:
# keine Prüfung auf Endlichkeit oder Spielgrenzen.

SUB Main()
    # "0x0EED" ergibt 0. Für hexadezimalen Grafiktext eine passende ID/type-Konvertierung verwenden.

    RETURN IsNumeric("0x0EED")
END SUB

Erläuterung der Parameter und Ausführung:

  • "0x0EED" ergibt 0. Für hexadezimalen Grafiktext eine passende ID/type-Konvertierung verwenden.

IsNumeric — 3

# IsNumeric3
#
# Prüft eine Eingabe vor der Verwendung als Menge, Zeitintervall oder Grenze.
#
# Integer 1 (True) für Zahlen oder lesbaren Zahlentext, sonst 0 (False). IF result, result =
# True und result = 1 sind möglich. NaN, Infinity und überlaufende Exponenten können bestehen:
# keine Prüfung auf Endlichkeit oder Spielgrenzen.

SUB Main()
    # ReadQuantity erhält text="25", maximum=100 und liefert Integer 25. Nur endliche ganze Werte in
    # 1..maximum sind zulässig. Leerer Text, NaN, Brüche und Überschreitungen ergeben -1 vor jeder
    # Gegenstandsaktion.

    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

Erläuterung der Parameter und Ausführung:

  • ReadQuantity erhält text="25", maximum=100 und liefert Integer 25. Nur endliche ganze Werte in 1..maximum sind zulässig. Leerer Text, NaN, Brüche und Überschreitungen ergeben -1 vor jeder Gegenstandsaktion.

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

Clone this wiki locally