Funzioni di conversione tra tipi di dati

Ogni funzione forza per un'espressione l'utilizzo di un tipo di dati specifico.

Sintassi

CBool(espressione)

CByte(espressione)

CCur(espressione)

CDate(espressione)

CDbl(espressione)

CDec(espressione)

CInt(espressione)

CLng(espressione)

CSng(espressione)

CStr(espressione)

CVar(espressione)

L'argomento obbligatorio espressione è qualsiasi espressione stringa o espressione numerica.

Tipi restituiti

Il nome della funzione determina il tipo restituito, come illustrato nella tabella seguente:

Funzione

Tipo restituito

Intervallo valido per l'argomento espressione

CBOOL

Boolean

Qualsiasi espressione numerica o stringa valida.

CBYTE

Byte

Da 0 a 255.

CCUR

Currency

Da -922.337.203.685.477,5808 a 922.337.203.685.477,5807.

CDATE

Date

Qualsiasi espressione data valida.

CDBL

Double

Da -1,79769313486231E308 a
-4,94065645841247E-324 per valori negativi. Da 4,94065645841247E-324 a 1,79769313486232E308 per valori positivi.

CDEC

Decimal

+/-79.228.162.514.264.337.593.543.950.335 per numeri con fattore di divisione zero, ovvero senza posizioni decimali. Per numeri con 28 posizioni decimali, l'intervallo è
+/-7,9228162514264337593543950335. Il valore più basso possibile diverso da zero è 0,0000000000000000000000000001.

CINT

Integer

Da -32.768 a 32.767. Le frazioni vengono arrotondate.

CLNG

Long

Da -2.147.483.648 a 2.147.483.647. Le frazioni vengono arrotondate.

CSNG

Single

Da -3,402823E38 a -1,401298E-45 per numeri negativi. Da 1,401298E-45 a 3,402823E38 per numeri positivi.

CSTR

String

I valori restituiti per la funzione CStr dipendono dall'argomento espressione.

CVAR

Variant

Stesso intervallo del tipo Double per valori numerici. Stesso intervallo del tipo String per valori non numerici.


Osservazioni

Se il valore espressione passato alla funzione non è compreso nell'intervallo del tipo di dati in cui si sta eseguendo la conversione, si verificherà un errore.

In generale, è possibile documentare il codice utilizzando le funzioni di conversione tra tipi di dati per indicare che il risultato di alcune operazioni deve essere espresso come un tipo di dati particolare anziché il tipo di dati predefinito. Utilizzare ad esempio la funzione CCur per forzare il calcolo di valori di valuta nei casi in cui verrebbe normalmente utilizzato il calcolo a precisione singola, a precisione doppia o a precisione intera.

È consigliabile utilizzare le funzioni di conversione tra tipi di dati anziché la funzione Val per garantire conversioni da un tipo di dati a un altro supportate a livello internazionale. Ad esempio, quando si utilizza la funzione CCur vengono riconosciuti in modo appropriato diversi separatori decimali, diversi separatori delle migliaia e varie opzioni di valuta in base alle impostazioni internazionali del computer in uso.

Quando la parte frazionaria è esattamente 0,5, le funzioni CInt e CLng la arrotondano sempre al numero pari più vicino. Ad esempio, 0,5 viene arrotondato a 0 e 1,5 viene arrotondato a 2. Le funzioni CInt e CLng sono diverse dalle funzioni Fix e Int che, anziché arrotondare, troncano la parte frazionaria di un numero. Inoltre, le funzioni Fix e Int restituiscono sempre un valore dello stesso tipo di quello passato.

Utilizzare la funzione IsDate per determinare se il valore date può essere convertito in una data o in un'ora. La funzione CDate riconosce i valori letterali di data e i valori letterali di ora, nonché alcuni numeri compresi nell'intervallo di date accettabili. Quando si converte un numero in una data, la parte intera del numero viene convertita in una data. L'eventuale parte frazionaria del numero viene convertita in un'ora del giorno, a partire dalla mezzanotte.

La funzione CDate riconosce i formati di data in base alle impostazioni locali del sistema in uso. È possibile che l'ordine corretto di giorno, mese e anno non venga determinato in modo appropriato se viene specificato in un formato diverso da quello delle impostazioni di data riconosciute. Inoltre, un formato di data estesa non viene riconosciuto se include anche la stringa relativa al giorno della settimana.

Per compatibilità con le versioni precedenti di Visual Basic, è inoltre disponibile la funzione CVDate. La sintassi della funzione CVDate è identica a quella della funzione CDate. La funzione CVDate, tuttavia, restituisce un valore Variant il cui sottotipo è Date anziché un tipo Date effettivo. Poiché adesso è disponibile un tipo Date intrinseco, non è più necessario utilizzare la funzione CVDate. Lo stesso risultato può essere ottenuto convertendo un'espressione in un valore Date e quindi assegnandolo a un valore Variant. Questa tecnica è coerente con la conversione di tutti gli altri tipi intrinseci nei relativi sottotipi Variant equivalenti.

Nota    La funzione CDec non restituisce un tipo di dati discreto. Al contrario, restituisce sempre un tipo di dati Variant il cui valore è stato convertito in un sottotipo Decimal.

Esempi

Nota   Negli esempi seguenti viene illustrato l'utilizzo di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per ulteriori informazioni sull'utilizzo di VBA, selezionare Riferimento per sviluppatori nell'elenco a discesa accanto a Cerca in, quindi immettere uno o più termini nella casella di ricerca.

Funzione CBool

In questo esempio viene utilizzata la funzione CBool per convertire un'espressione in un valore Boolean. Se l'espressione restituisce un valore diverso da zero, la funzione CBool restituirà True. In caso contrario, restituirà False.

Dim A, B, Controllo
A = 5: B = 5 ' Inizializzare le variabili.
Controllo = CBool(A = B) ' Controllo contiene True.
A = 0 ' Definire la variabile.
Controllo = CBool(A) ' Controllo contiene False.

Funzione CByte

In questo esempio viene utilizzata la funzione CByte per convertire un'espressione in un valore Byte.

Dim ValoreDouble, ValoreByte
ValoreDouble = 125.5678 ' ValoreDouble è un valore Double.
ValoreByte = CByte(ValoreDouble) ' ValoreByte contiene 126.

Funzione CCur

In questo esempio viene utilizzata la funzione CCur per convertire un'espressione in un valore Currency.

Dim ValoreDouble, Valuta
ValoreDouble = 543.214588 ' ValoreDouble è un valore Double.
Valuta = CCur(ValoreDouble * 2)
' Convertire il risultato di ValoreDouble * 2 (1086.429176) in un valore
' Currency (1086.4292).

Funzione CDate

In questo esempio viene utilizzata la funzione CDate per convertire una stringa in un valore Date. In generale, non è consigliabile specificare date e ore come stringhe a livello di codice, come illustrato nell'esempio. Utilizzare invece valori letterali di data e valori letterali di ora, ad esempio #2/12/1969# e #4:45:23 PM#.

Dim Data, DataBreve, Orario, OrarioBreve
Data = "12 febbraio 1969"
' Convertire in tipo di dati Date.
DataBreve = CDate(Data)
Orario = "16.35.47"
' Convertire in tipo di dati Date.
OrarioBreve = CDate(Orario)

Funzione CDbl

In questo esempio viene utilizzata la funzione CDbl per convertire un'espressione in un valore Double.

Dim Valuta, ValoreDouble
Valuta = CCur(234.456784)
' Convertire il risultato in valore Double.
ValoreDouble = CDbl(Valuta * 8.2 * 0.01)

Funzione CDec

In questo esempio viene utilizzata la funzione CDec per convertire un valore numerico in un valore Decimal.

Dim Decimale, Valuta
Valuta = 10000000.0587 ' Valuta è un valore Currency.
Decimale = CDec(Valuta) ' Decimale è un valore Decimal.

Funzione CInt

In questo esempio viene utilizzata la funzione CInt per convertire un valore in un valore Integer.

Dim ValoreDouble, ValoreIntero
ValoreDouble = 2345.5678 ' ValoreDouble è un valore Double.
ValoreIntero = CInt(ValoreDouble) ' ValoreIntero contiene 2346.

Funzione CLng

In questo esempio viene utilizzata la funzione CLng per convertire un valore in un valore Long.

Dim Val1, Val2, Long1, Long2
Val1 = 25427.45
Val2 = 25427.55 ' Val1, Val2 sono valori Double.
Long1 = CLng(Val1)
' Long1 contiene 25427.
Long2 = CLng(Val2)
' Long2 contiene 25428.

Funzione CSng

In questo esempio viene utilizzata la funzione CSng per convertire un valore in un valore Single.

Dim Double1, Double2, Single1, Single2
' Double1, Double2 sono valori Double.
Double1 = 75.3421115: Double2 = 75.3421555
Single1 = CSng(Double1)
' Single1 contiene 75.34211.
Single2 = CSng(Double2)
' Single2 contiene 75.34216.

Funzione CStr

In questo esempio viene utilizzata la funzione CStr per convertire un valore numerico in un valore String.

Dim Double, Stringa
Double = 437.324 ' Double è un valore Double.
Stringa = CStr(Double)
' Stringa contiene "437.324".

Funzione CVar

In questo esempio viene utilizzata la funzione CVar per convertire un'espressione in un valore Variant.

Dim Intero, Variant
Intero = 4534 ' Intero è un valore Integer.
Variant = CVar(Intero & "000")
' Variant contiene la stringa 4534000.

Si applica a: Access 2013, Access 2013 Developer, Access 2007 Developer, Access 2010 Developer, Access 2007, Access 2010



Queste informazioni sono risultate utili?

No

Che cosa possiamo migliorare?

255 caratteri rimanenti

Per tutelare la privacy, non includere informazioni di contatto nei commenti e suggerimenti. Consulta la nostra informativa sulla privacy.

Grazie per i tuoi commenti e suggerimenti

Risorse di supporto

Cambia lingua