Funció VBA CDBL | Com es pot convertir el valor en doble tipus de dades?

Funció Excel VBA CDBL

VBA CDBL és una funció de conversió de tipus de dades incorporada i l’ús d’aquesta funció és que converteix el tipus de dades del valor de qualsevol variable en un tipus de dades doble, aquesta funció només adopta un únic argument que és el valor de la mateixa variable.

A VBA significa "CDBL" "Converteix a doble". Aquesta funció converteix el nombre donat en tipus de dades doble. Mireu la sintaxi de la funció CDBL.

  • Expressió és el valor que intentem convertir a tipus de dades doble.

Qualsevol número flotant que s’emmagatzemi amb un tipus de dades diferent del doble es pot convertir aplicant la funció CDBL.

Punt per recordar aquí: Només es poden convertir valors numèrics a tipus de dades dobles. Qualsevol altra cosa que no sigui el valor numèric no es pot convertir a doble tipus, de manera que acabeu mostrant "Error de coincidència de tipus a VBA" com el següent.

Heu utilitzat mai un tipus de dades doble a la codificació VBA?

Si no, val la pena fer-hi una ullada ara. Doble és el tipus de dades que s’utilitza per emmagatzemar la posició decimal del número. Podem tenir fins a 13 nombres decimals flotants.

Per obtenir un exemple, mireu el codi VBA següent.

A l'anterior, he definit el tipus de variable (k) com a enter. Dim k Com enter

A continuació, he assignat el valor com k = 25,4561248694615

Quan executi el codi, obtindrem el resultat de la següent manera.

Vam obtenir el resultat com a 25. Ja que hem definit la variable com a Ronda de VBA enter al valor enter més proper.

Per mostrar el resultat tal com és, hem de canviar el tipus de variable de enter a doble.

Això ens hauria de donar el nombre exacte tal com l’hem assignat a la variable.

D'acord, tenint això en compte, també podem convertir tots els nombres de fraccions emmagatzemats com a tipus de dades no dobles.

Exemples per utilitzar la funció VBA CDBL

Podeu descarregar aquesta plantilla de funció VBA CDBL aquí - Plantilla de funció VBA CDBL

Exemple 1

Per iniciar el procediment, vegem el següent codi.

Codi:

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

Ara executaré el codi i veuré què passa.

Tot i que el tipus de variable VBA és "Cadena", continua mostrant els valors decimals. Això es deu al fet que la cadena pot ser de qualsevol tipus de tipus, de manera que els nombres decimals o flotants es mostren tal com són.

Ara canviaré el tipus de dades de cadena a Enter.

Codi:

 Sub Double_Example1 () Dim k Com enter k = 48.14869569 MsgBox k End Sub 

Ara executaré el codi i veuré què passa.

Aquí és on la funció CDBL té un paper vital per convertir el tipus de dades enter a doble. Per tant, el codi següent és el mateix per a vosaltres.

Codi:

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

Això convertirà el valor del tipus de dades de cadena a Doble.

Exemple 2

Ara convertim el número 854.6947 que s’emmagatzema com a Variant a tipus de dades Doble.

Codi:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber Com Double VaraintNumber = 854,6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

La primera variable que he declarat com a "Variant". Dim VaraintNumber

Nota: Quan no es declara el tipus de variable, es converteix en un tipus de dades universal Variant.

A continuació, he declarat una variable més és a dir, Dim DoubleNumber As Double

Per a la primera variable VaraintNumber, hem assignat el valor com a 854.6947.

Ara, mitjançant la segona variable, hem aplicat la funció CDBL per convertir el valor de la variant a tipus de dades doble.

DoubleNumber = CDbl (VaraintNumber)

La part final és mostrar el resultat al quadre de missatges. MsgBox DoubleNumber

Ara executaré el codi per veure el resultat.

Coses que cal recordar

  • Un tipus de dades doble només pot acceptar números numèrics.
  • Si es proporciona un valor de text, provocarà un error de tipus no coincident.
  • Un tipus de dades doble només pot mostrar 13 dígits de números flotants.