Skip to content

API CLng de

Codex edited this page Sep 23, 2026 · 1 revision

CLng

ClassicUO / Basic IDE

Home · API · Basic

Rundet auf eine ganze Zahl, etwa für eine berechnete Wartezeit oder Gegenstandsgrenze.

Genaue Syntax

CLng(value:Any) -> Integer

Parameter

  • value — Ein erforderlicher Integer/Decimal oder numerischer String mit Punkt und optionalem Exponenten, unabhängig von der Sprache. "0x0EED" ist hier kein Zahlentext. Ungültiger Text, Array, Object und Unit werden 0. Eingaben mit IsNumeric prüfen.

Rückgabewert

Integer mit 32 Bit und Vorzeichen: halbe Werte werden von null weg gerundet, 2.5 -> 3, -2.5 -> -3. CInt und CLng sind gleich implementiert; CLng erzeugt keine 64 Bit. Endliche Eingaben verwenden, deren gerundetes Ergebnis in -2147483648..2147483647 liegt. Kein Boolean-Ergebnis.

Verhalten

  • Lokale Berechnung ohne Paket, Ziel oder Spielaktion. BasicDouble liest Zahlentext zunächst sprachunabhängig. Die Regeln dieses Motors unterscheiden sich von VB.NET. Decimal speichert double; CInt/CLng runden halbe Werte von null weg.

Interne Funktionen: vom Aufruf zum Ergebnis

Lokale Berechnung ohne Paket, Ziel oder Spielaktion. BasicDouble liest Zahlentext zunächst sprachunabhängig. Die Regeln dieses Motors unterscheiden sich von VB.NET. Decimal speichert double; CInt/CLng runden halbe Werte von null weg.

1. BasicDouble

Ein erforderlicher Integer/Decimal oder numerischer String mit Punkt und optionalem Exponenten, unabhängig von der Sprache. "0x0EED" ist hier kein Zahlentext. Ungültiger Text, Array, Object und Unit werden 0. Eingaben mit IsNumeric prüfen.

Decimal / double

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

2. Register

Rundet auf eine ganze Zahl, etwa für eine berechnete Wartezeit oder Gegenstandsgrenze.

Integer mit 32 Bit und Vorzeichen: halbe Werte werden von null weg gerundet, 2.5 -> 3, -2.5 -> -3. CInt und CLng sind gleich implementiert; CLng erzeugt keine 64 Bit. Endliche Eingaben verwenden, deren gerundetes Ergebnis in -2147483648..2147483647 liegt. Kein Boolean-Ergebnis.

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

Beispiele

CLng — 1

# CLng1
#
# Rundet auf eine ganze Zahl, etwa für eine berechnete Wartezeit oder Gegenstandsgrenze.
#
# Integer mit 32 Bit und Vorzeichen: halbe Werte werden von null weg gerundet, 2.5 -> 3, -2.5 ->
# -3. CInt und CLng sind gleich implementiert; CLng erzeugt keine 64 Bit. Endliche Eingaben
# verwenden, deren gerundetes Ergebnis in -2147483648..2147483647 liegt. Kein Boolean-Ergebnis.

SUB Main()
    # value=2.5. Main liefert Integer 3 durch Rundung von null weg, nicht 2 durch Rundung zur
    # geraden Zahl.

    RETURN CLng(2.5)
END SUB

Erläuterung der Parameter und Ausführung:

  • value=2.5. Main liefert Integer 3 durch Rundung von null weg, nicht 2 durch Rundung zur geraden Zahl.

CLng — 2

# CLng2
#
# Rundet auf eine ganze Zahl, etwa für eine berechnete Wartezeit oder Gegenstandsgrenze.
#
# Integer mit 32 Bit und Vorzeichen: halbe Werte werden von null weg gerundet, 2.5 -> 3, -2.5 ->
# -3. CInt und CLng sind gleich implementiert; CLng erzeugt keine 64 Bit. Endliche Eingaben
# verwenden, deren gerundetes Ergebnis in -2147483648..2147483647 liegt. Kein Boolean-Ergebnis.

SUB Main()
    # offset=-2.5 ist eine vorzeichenbehaftete Koordinatenverschiebung. Main liefert -3, ohne die
    # Figur zu bewegen.

    VAR offset = -2.5
    RETURN CLng(offset)
END SUB

Erläuterung der Parameter und Ausführung:

  • offset=-2.5 ist eine vorzeichenbehaftete Koordinatenverschiebung. Main liefert -3, ohne die Figur zu bewegen.

CLng — 3

# CLng3
#
# Rundet auf eine ganze Zahl, etwa für eine berechnete Wartezeit oder Gegenstandsgrenze.
#
# Integer mit 32 Bit und Vorzeichen: halbe Werte werden von null weg gerundet, 2.5 -> 3, -2.5 ->
# -3. CInt und CLng sind gleich implementiert; CLng erzeugt keine 64 Bit. Endliche Eingaben
# verwenden, deren gerundetes Ergebnis in -2147483648..2147483647 liegt. Kein Boolean-Ergebnis.

SUB Main()
    # ReadDelay erhält secondsText="0.35". IsNumeric prüft die Schreibweise, CDbl liest Sekunden.
    # Ungültiger Text, NaN oder Werte außerhalb 0.1..5 Sekunden liefern -1. Sonst wird mit 1000
    # multipliziert und gerundet: Main liefert 350 Millisekunden. Die Funktion bereitet eine
    # Wartezeit vor, wartet aber nicht.

    RETURN ReadDelay("0.35")
END SUB

SUB ReadDelay(secondsText)
    IF NOT IsNumeric(secondsText) THEN
        RETURN -1
    END IF
    VAR seconds = CDbl(secondsText)
    IF CStr(seconds) = "NaN" OR seconds < 0.1 OR seconds > 5 THEN
        RETURN -1
    END IF
    RETURN CLng(seconds * 1000)
END SUB

Erläuterung der Parameter und Ausführung:

  • ReadDelay erhält secondsText="0.35". IsNumeric prüft die Schreibweise, CDbl liest Sekunden. Ungültiger Text, NaN oder Werte außerhalb 0.1..5 Sekunden liefern -1. Sonst wird mit 1000 multipliziert und gerundet: Main liefert 350 Millisekunden. Die Funktion bereitet eine Wartezeit vor, wartet aber nicht.

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

Clone this wiki locally