Skip to content

API CDbl it

Codex edited this page Sep 23, 2026 · 1 revision

CDbl

ClassicUO / Basic IDE

Home · API · Basic

Legge un’impostazione numerica per i calcoli, per esempio un ritardo in secondi.

Sintassi esatta

CDbl(value:Any) -> Decimal

Parametri

  • value — Un Integer/Decimal o String numerico obbligatorio, con punto ed esponente facoltativo indipendentemente dalla lingua. "0x0EED" non è numerico qui. Testo non valido, Array, Object e Unit diventano 0. Verifica l’input con IsNumeric.

Restituisce

Decimal basato su double a 64 bit. CDbl e CSng usano la stessa precisione; CSng non riduce a Single a 32 bit. Un input non valido dà 0, quindi zero non conferma una conversione riuscita. Sono possibili NaN e Infinity: verificare separatamente i limiti.

Comportamento

  • Un Integer/Decimal o String numerico obbligatorio, con punto ed esponente facoltativo indipendentemente dalla lingua. "0x0EED" non è numerico qui. Testo non valido, Array, Object e Unit diventano 0. Verifica l’input con IsNumeric.
  • Decimal basato su double a 64 bit. CDbl e CSng usano la stessa precisione; CSng non riduce a Single a 32 bit. Un input non valido dà 0, quindi zero non conferma una conversione riuscita. Sono possibili NaN e Infinity: verificare separatamente i limiti.

Funzioni interne: dalla chiamata al risultato

Legge un’impostazione numerica per i calcoli, per esempio un ritardo in secondi.

1. BasicDouble

Un Integer/Decimal o String numerico obbligatorio, con punto ed esponente facoltativo indipendentemente dalla lingua. "0x0EED" non è numerico qui. Testo non valido, Array, Object e Unit diventano 0. Verifica l’input con IsNumeric.

Decimal basato su double a 64 bit. CDbl e CSng usano la stessa precisione; CSng non riduce a Single a 32 bit. Un input non valido dà 0, quindi zero non conferma una conversione riuscita. Sono possibili NaN e Infinity: verificare separatamente i limiti.

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

Esempi

CDbl — 1

# CDbl1
#
# Legge un’impostazione numerica per i calcoli, per esempio un ritardo in secondi.
#
# Decimal basato su double a 64 bit. CDbl e CSng usano la stessa precisione; CSng non riduce a
# Single a 32 bit. Un input non valido  0, quindi zero non conferma una conversione riuscita.
# Sono possibili NaN e Infinity: verificare separatamente i limiti.

SUB Main()
    # value="0.35" usa il punto decimale. Main restituisce Decimal 0.35 secondi senza attendere.

    RETURN CDbl("0.35")
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • value="0.35" usa il punto decimale. Main restituisce Decimal 0.35 secondi senza attendere.

CDbl — 2

# CDbl2
#
# Legge un’impostazione numerica per i calcoli, per esempio un ritardo in secondi.
#
# Decimal basato su double a 64 bit. CDbl e CSng usano la stessa precisione; CSng non riduce a
# Single a 32 bit. Un input non valido  0, quindi zero non conferma una conversione riuscita.
# Sono possibili NaN e Infinity: verificare separatamente i limiti.

SUB Main()
    # value="3e1" significa 30; diviso per 4  Decimal 7.5. La notazione esponenziale non dipende
    # dalla lingua.

    VAR total = CDbl("3e1")
    RETURN total / 4
END SUB

Spiegazione dei parametri e dell’esecuzione:

  • value="3e1" significa 30; diviso per 4 dà Decimal 7.5. La notazione esponenziale non dipende dalla lingua.

CDbl — 3

# CDbl3
#
# Legge un’impostazione numerica per i calcoli, per esempio un ritardo in secondi.
#
# Decimal basato su double a 64 bit. CDbl e CSng usano la stessa precisione; CSng non riduce a
# Single a 32 bit. Un input non valido  0, quindi zero non conferma una conversione riuscita.
# Sono possibili NaN e Infinity: verificare separatamente i limiti.

SUB Main()
    # Milliseconds riceve secondsText="0.35". Testo non numerico, NaN e valori fuori da 0.1..5
    # secondi danno -1. Altrimenti moltiplica per 1000 e restituisce Decimal 350 per un’attesa
    # successiva; non chiama Wait.

    RETURN Milliseconds("0.35")
END SUB

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

Spiegazione dei parametri e dell’esecuzione:

  • Milliseconds riceve secondsText="0.35". Testo non numerico, NaN e valori fuori da 0.1..5 secondi danno -1. Altrimenti moltiplica per 1000 e restituisce Decimal 350 per un’attesa successiva; non chiama Wait.

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

Clone this wiki locally