Funzione VBA CDBL - Come convertire il valore in un doppio tipo di dati?

Funzione CDBL VBA di Excel

VBA CDBL è una funzione di conversione del tipo di dati incorporata e l'uso di questa funzione è che converte il tipo di dati del valore di una determinata variabile in un tipo di dati Double, questa funzione accetta solo un singolo argomento che è il valore della variabile stessa.

In VBA, "CDBL" sta per "Convert to Double". Questa funzione converte il numero specificato in un tipo di dati Double. Dai un'occhiata alla sintassi della funzione CDBL.

  • L'espressione è il valore che stiamo cercando di convertire nel tipo di dati Double.

Qualsiasi numero mobile memorizzato come diverso dal tipo di dati doppio può essere convertito applicando la funzione CDBL.

Punto da ricordare qui: solo i valori numerici possono essere convertiti nel tipo di dati Double. Qualunque cosa diversa dal valore numerico non può essere convertita in doppio tipo, quindi finisci per mostrare "Errore di mancata corrispondenza del tipo in VBA" come di seguito.

Hai mai usato un doppio tipo di dati nella codifica VBA?

In caso contrario, vale la pena dare un'occhiata ora. Double è il tipo di dati utilizzato per memorizzare la posizione decimale del numero. Possiamo avere fino a 13 numeri decimali mobili.

Ad esempio, guarda il codice VBA sottostante.

In quanto sopra, ho definito il tipo di variabile (k) come Integer. Dim k As Integer

Successivamente, ho assegnato il valore come k = 25,4561248694615

Quando eseguo il codice, otterremo il risultato come segue.

Abbiamo ottenuto il risultato come 25 poiché abbiamo definito la variabile come Intero VBA arrotondato al valore intero più vicino.

Per mostrare il risultato così com'è, dobbiamo cambiare il tipo di variabile da Integer a Double.

Questo dovrebbe darci il numero esatto che abbiamo assegnato alla variabile.

Ok, tenendo presente questo, possiamo anche convertire tutti i numeri frazionari, che sono archivi come un tipo di dati non doppio.

Esempi di utilizzo della funzione CDBL VBA

Esempio 1

Per iniziare il procedimento, diamo un'occhiata al codice sottostante.

Codice:

Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub

Ora eseguirò il codice e vedrò cosa succede.

Anche se il tipo di variabile VBA è "String", mostra ancora i valori decimali. Questo perché String può essere di qualsiasi tipo di dati, quindi i numeri decimali o mobili vengono visualizzati così come sono.

Ora cambierò il tipo di dati vba da stringa a Integer.

Codice:

Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub

Ora eseguirò il codice e vedrò cosa succede.

È qui che la funzione CDBL gioca un ruolo fondamentale nella conversione del tipo di dati intero in double. Quindi il codice sottostante è lo stesso per te.

Codice:

Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub

Questo convertirà il valore del tipo di dati della stringa in Double.

Esempio n. 2

Ora convertiamo il numero 854.6947, che è memorizzato come tipo di dati Variant in Double.

Codice:

Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub

La prima variabile che ho dichiarato come "Variant". Dim VaraintNumber

Nota: quando il tipo di variabile non viene dichiarato, diventa un tipo di dati universale Variant.

Successivamente, ho dichiarato un'altra variabile, ovvero Dim DoubleNumber As Double.

Per la prima variabile, VaraintNumber, abbiamo assegnato il valore 854.6947.

Ora, utilizzando la seconda variabile, abbiamo applicato la funzione CDBL per convertire il valore Variant nel tipo di dati Double.

DoubleNumber = CDbl (VaraintNumber)

La parte finale è mostrare il risultato nella finestra del messaggio. MsgBox DoubleNumber

Ora eseguirò il codice per vedere il risultato.

Cose da ricordare

  • Un tipo di dati doppio può accettare solo numeri numerici.
  • Se viene fornito un valore di testo, verrà generato un errore di tipo non corrispondente.
  • Un doppio tipo di dati può visualizzare solo 13 cifre di numeri mobili.

Articoli interessanti...