Skip to content

API CInt fr

Codex edited this page Sep 23, 2026 · 1 revision

CInt

ClassicUO / Basic IDE

Home · API · Basic

Arrondit un nombre entier, par exemple un délai calculé ou une limite d’objets.

Syntaxe exacte

CInt(value:Any) -> Integer

Paramètres

  • value — Un Integer/Decimal ou String numérique obligatoire, avec point et exposant facultatif, indépendamment de la langue. "0x0EED" n’est pas numérique ici. Texte invalide, Array, Object et Unit deviennent 0. Vérifiez la saisie avec IsNumeric.

Retour

Integer signé sur 32 bits : les moitiés s’éloignent de zéro, 2.5 -> 3, -2.5 -> -3. CInt et CLng partagent la même implémentation ; CLng ne produit pas 64 bits. Utilisez des valeurs finies dont le résultat arrondi tient dans -2147483648..2147483647. Ce n’est pas un Boolean.

Comportement

  • Calcul local, sans paquet ni cible ni action de jeu. BasicDouble analyse d’abord le texte numérique indépendamment de la langue. Les règles du moteur diffèrent de VB.NET. Decimal stocke un double ; CInt/CLng arrondissent les moitiés loin de zéro.

Fonctions internes : de l’appel au résultat

Calcul local, sans paquet ni cible ni action de jeu. BasicDouble analyse d’abord le texte numérique indépendamment de la langue. Les règles du moteur diffèrent de VB.NET. Decimal stocke un double ; CInt/CLng arrondissent les moitiés loin de zéro.

1. BasicDouble

Un Integer/Decimal ou String numérique obligatoire, avec point et exposant facultatif, indépendamment de la langue. "0x0EED" n’est pas numérique ici. Texte invalide, Array, Object et Unit deviennent 0. Vérifiez la saisie avec IsNumeric.

Decimal / double

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; fonction BasicDouble.

2. Register

Arrondit un nombre entier, par exemple un délai calculé ou une limite d’objets.

Integer signé sur 32 bits : les moitiés s’éloignent de zéro, 2.5 -> 3, -2.5 -> -3. CInt et CLng partagent la même implémentation ; CLng ne produit pas 64 bits. Utilisez des valeurs finies dont le résultat arrondi tient dans -2147483648..2147483647. Ce n’est pas un Boolean.

Source du projet: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; fonction Register.

Exemples

CInt — 1

# CInt1
#
# Arrondit un nombre entier, par exemple un délai calculé ou une limite d’objets.
#
# Integer signé sur 32 bits : les moitiés s’éloignent de zéro, 2.5 -> 3, -2.5 -> -3. CInt et
# CLng partagent la même implémentation ; CLng ne produit pas 64 bits. Utilisez des valeurs
# finies dont le résultat arrondi tient dans -2147483648..2147483647. Ce n’est pas un Boolean.

SUB Main()
    # value=2.5. Main renvoie Integer 3, en arrondissant la moitié loin de zéro, et non 2 par
    # arrondi au pair.

    RETURN CInt(2.5)
END SUB

Explication des paramètres et du déroulement:

  • value=2.5. Main renvoie Integer 3, en arrondissant la moitié loin de zéro, et non 2 par arrondi au pair.

CInt — 2

# CInt2
#
# Arrondit un nombre entier, par exemple un délai calculé ou une limite d’objets.
#
# Integer signé sur 32 bits : les moitiés s’éloignent de zéro, 2.5 -> 3, -2.5 -> -3. CInt et
# CLng partagent la même implémentation ; CLng ne produit pas 64 bits. Utilisez des valeurs
# finies dont le résultat arrondi tient dans -2147483648..2147483647. Ce n’est pas un Boolean.

SUB Main()
    # offset=-2.5 est un décalage signé de coordonnée. Main renvoie -3 sans déplacer le personnage.

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

Explication des paramètres et du déroulement:

  • offset=-2.5 est un décalage signé de coordonnée. Main renvoie -3 sans déplacer le personnage.

CInt — 3

# CInt3
#
# Arrondit un nombre entier, par exemple un délai calculé ou une limite d’objets.
#
# Integer signé sur 32 bits : les moitiés s’éloignent de zéro, 2.5 -> 3, -2.5 -> -3. CInt et
# CLng partagent la même implémentation ; CLng ne produit pas 64 bits. Utilisez des valeurs
# finies dont le résultat arrondi tient dans -2147483648..2147483647. Ce n’est pas un Boolean.

SUB Main()
    # ReadDelay reçoit secondsText="0.35". IsNumeric vérifie l’écriture, CDbl lit les secondes.
    # Texte invalide, NaN ou valeur hors de 0.1..5 secondes donnent -1. Sinon multiplication par
    # 1000 puis arrondi : Main renvoie 350 millisecondes. Le helper prépare un délai mais n’attend
    # pas.

    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 CInt(seconds * 1000)
END SUB

Explication des paramètres et du déroulement:

  • ReadDelay reçoit secondsText="0.35". IsNumeric vérifie l’écriture, CDbl lit les secondes. Texte invalide, NaN ou valeur hors de 0.1..5 secondes donnent -1. Sinon multiplication par 1000 puis arrondi : Main renvoie 350 millisecondes. Le helper prépare un délai mais n’attend pas.

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

Clone this wiki locally