VBA CDBL-funksjon - Hvordan konvertere verdi til dobbel datatype?

Innholdsfortegnelse

Excel VBA CDBL-funksjon

VBA CDBL er en innebygd datatypekonverteringsfunksjon, og bruken av denne funksjonen er at den konverterer datatypen til en gitt variabels verdi til en dobbel datatype, denne funksjonen tar bare et enkelt argument som er verdien av selve variabelen.

I VBA står "CDBL" for "Convert to Double." Denne funksjonen konverterer det gitte nummeret til dobbel datatype. Ta en titt på syntaksen til CDBL-funksjonen.

  • Uttrykket er verdien vi prøver å konvertere til dobbel datatype.

Ethvert flytende nummer som er lagret som annet enn dobbel datatype, kan konverteres ved å bruke CDBL-funksjonen.

Pek på å huske her: Bare numeriske verdier kan konverteres til dobbel datatype. Alt annet enn numerisk verdi kan ikke konverteres til dobbel type, så ender opp med å vise "Type Mismatch Error in VBA" som nedenfor.

Har du noen gang brukt en dobbel datatype i VBA-koding?

Hvis ikke, er det verdt å se på det nå. Dobbelt er datatypen som brukes til å lagre desimalposisjonen til tallet. Vi kan ha opptil 13 flytende desimaltall.

Se for eksempel på VBA-koden nedenfor.

I det ovennevnte har jeg definert variabeltypen (k) som Heltall. Dim k As Integer

Deretter har jeg tilordnet verdien som k = 25.4561248694615

Når jeg kjører koden, får vi resultatet som følger.

Vi fikk resultatet som 25 siden vi har definert variabelen som Heltall VBA-runde til nærmeste heltallverdi.

For å vise resultatet som det er, må vi endre variabeltypen fra heltall til dobbelt.

Dette skal gi oss det nøyaktige tallet som vi tildelte variabelen.

Ok, med tanke på dette, kan vi også konvertere alle brøknumrene, som er lagret som en ikke-dobbel datatype.

Eksempler på bruk av VBA CDBL-funksjon

Eksempel 1

For å starte saksgangen, la oss se på koden nedenfor.

Kode:

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

Nå skal jeg kjøre koden og se hva som skjer.

Selv om VBA-variabeltypen er "String", viser den likevel desimalverdiene. Dette er fordi streng kan være av hvilken som helst datatype, så desimal- eller flytende tall vises som det er.

Nå vil jeg endre vba-datatypen fra streng til heltall.

Kode:

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

Nå skal jeg kjøre koden og se hva som skjer.

Det er her CDBL-funksjonen spiller en viktig rolle i å konvertere datatypen for heltall til dobbelt. Så under koden er den samme for deg.

Kode:

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

Dette vil konvertere strengens datatypeverdi til dobbelt.

Eksempel 2

La oss nå konvertere tallet 854.6947, som er lagret som Variant til Double datatype.

Kode:

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

Den første variabelen har jeg erklært som "Variant." Dim VaraintNumber

Merk: Når variabeltypen ikke blir deklarert, blir den en universell datatype Variant.

Deretter har jeg erklært en variabel til, dvs. Dim DoubleNumber som Double.

For den første variabelen, VaraintNumber, har vi tildelt verdien 854.6947.

Nå ved å bruke den andre variabelen, har vi brukt CDBL-funksjonen for å konvertere Variant-verdien til Dobbelt datatype.

DoubleNumber = CDbl (VaraintNumber)

Den siste delen er å vise resultatet i meldingsboksen. MsgBox DoubleNumber

Nå vil jeg kjøre koden for å se resultatet.

Ting å huske

  • En dobbel datatype kan bare akseptere numeriske tall.
  • Hvis tekstverdien er oppgitt, vil det føre til en feil i typen Mismatch.
  • En dobbel datatype kan bare vise 13 sifre med flytende tall.

Interessante artikler...