Double : Numeri con decimali

Creato il: 15.08.2026
Il tipo Double viene utilizzato per rappresentare valori numerici che possono contenere una parte decimale.

A differenza del tipo Long, che rappresenta solamente numeri interi, un valore Double può contenere anche cifre dopo la virgola.

Sono quindi valori di tipo Double, ad esempio:

<br>12,50<br>0,75<br>1500,25<br>-3,5<br>


Negli script di Ready Pro il tipo Double viene utilizzato molto frequentemente per rappresentare quantità, prezzi, importi, percentuali e, più in generale, valori sui quali possono essere eseguiti calcoli con decimali. Diverse proprietà degli oggetti di Ready Pro restituiscono infatti valori di questo tipo.

Utilizzare valori decimali nello script

Quando un numero decimale viene scritto direttamente all'interno di uno script VBScript, come separatore decimale occorre utilizzare il punto.

Ad esempio:

Option Explicit
 
Dim Prezzo
 
Prezzo = 12.50
 
Response.Write(Prezzo)


Il valore assegnato alla variabile Prezzo è un numero e non deve quindi essere racchiuso tra virgolette.

È importante distinguere:

Prezzo = 12.50


da:

Prezzo = "12.50"


Nel primo caso viene assegnato un valore numerico, mentre nel secondo viene assegnato un testo, cioè un valore di tipo String.

Questa differenza diventa importante quando si devono eseguire dei calcoli.

Ad esempio:

Option Explicit
 
Dim Quantita
Dim PrezzoUnitario
Dim Totale
 
Quantita = 2.5
PrezzoUnitario = 18.30
 
Totale = Quantita * PrezzoUnitario
 
Response.Write(Totale)


La variabile Quantita contiene il valore numerico 2,5, PrezzoUnitario contiene 18,30 e il risultato della moltiplicazione memorizzato nella variabile Totale è 45,75.

N.B. Nei valori numerici scritti direttamente nel codice VBScript il separatore decimale è il punto. La modalità con cui lo stesso numero viene successivamente visualizzato può invece utilizzare la virgola come separatore decimale, in base alla formattazione applicata.

Valori Double restituiti da Ready Pro

In molti casi non sarà necessario scrivere direttamente un valore Double nello script, perché il numero verrà recuperato da una proprietà di un oggetto di Ready Pro.

Ad esempio, la proprietà:

Product.QtyAvailable


restituisce la quantità disponibile dell'articolo ed è di tipo Double.

È quindi possibile utilizzare direttamente il valore restituito all'interno di un calcolo:

Option Explicit
 
Dim QuantitaDisponibile
Dim QuantitaConMargine
 
QuantitaDisponibile = Product.QtyAvailable
 
QuantitaConMargine = QuantitaDisponibile * 0.9
 
Response.Write(QuantitaConMargine)


Lo stesso principio si applica alle altre proprietà di Ready Pro che restituiscono valori di tipo Double.

Double e Long

La differenza principale tra Long e Double può essere riassunta in modo semplice:

Long : viene utilizzato per valori numerici interi, come 1, 25, 1500 o -10
Double : viene utilizzato quando il valore può contenere anche una parte decimale, come 1, 5, 25,75 o 0,01

Ad esempio, il codice identificativo interno di un elemento di Ready Pro è normalmente un valore Long, mentre una quantità, un prezzo o un importo possono essere valori Double.

Convertire un valore in Double

Non tutti i valori che apparentemente contengono un numero sono necessariamente già di tipo numerico.

Ad esempio, come vedremo utilizzando CustomField, alcuni valori recuperati da Ready Pro possono essere restituiti come String anche quando rappresentano una quantità o un importo.

Quando è necessario utilizzare uno di questi valori per eseguire dei calcoli è possibile convertirlo esplicitamente in Double utilizzando:

Rdy.toDouble(...)


Il metodo Rdy.toDouble converte infatti il valore ricevuto in un valore numerico di tipo Double.

Questa conversione verrà utilizzata negli esempi successivi quando sarà necessario trasformare un valore testuale in un numero sul quale eseguire calcoli.

Visualizzare un Double come importo

Il valore numerico utilizzato per eseguire un calcolo e il modo in cui tale valore viene visualizzato sono due aspetti distinti.

Ad esempio, un valore Double può essere formattato come importo utilizzando il metodo Rdy.FormatCurrency già visto in precedenza:

Option Explicit
 
Dim Totale
 
Totale = 1234.5
 
Response.Write(Rdy.FormatCurrency(Totale))


In questo modo il valore viene visualizzato utilizzando il formato previsto da Ready Pro per gli importi.

N.B. È quindi consigliabile mantenere i valori come numeri durante i calcoli e applicare l'eventuale formattazione solamente quando il risultato deve essere visualizzato o stampato.

Intervallo dei valori

Il tipo Double può rappresentare numeri in un intervallo estremamente ampio.

L'intervallo previsto è:

da -1,79769313486232E308 a -4,94065645841247E-324 per i valori negativi;
da 4,94065645841247E-324 a 1,79769313486232E308 per i valori positivi.

Per la normale creazione di script in Ready Pro non è necessario memorizzare questi limiti: è sufficiente sapere che Double è il tipo numerico da utilizzare o che si incontrerà più frequentemente quando un valore può contenere dei decimali.

Login