VBA CDBL-funktion - Hvordan konverteres værdi til dobbelt datatype?

Indholdsfortegnelse

Excel VBA CDBL-funktion

VBA CDBL er en indbygget datatypekonverteringsfunktion, og brugen af ​​denne funktion er, at den konverterer datatypen for en given variabels værdi til en dobbelt datatype, denne funktion tager kun et enkelt argument, som er værdien af ​​selve variablen.

I VBA står "CDBL" for "Konverter til dobbelt." Denne funktion konverterer det givne nummer til dobbelt datatype. Se på syntaksen for CDBL-funktionen.

  • Udtrykket er den værdi, som vi prøver at konvertere til dobbelt datatype.

Ethvert flydende tal, der er gemt som andet end dobbelt datatype, kan konverteres ved at anvende CDBL-funktionen.

Punkt at huske her: Kun numeriske værdier kan konverteres til dobbelt datatype. Alt andet end numerisk værdi kan ikke konverteres til dobbelt type, så ender med at vise "Type Mismatch Error in VBA" som nedenfor.

Har du nogensinde brugt en dobbelt datatype i VBA-kodning?

Hvis ikke, er det værd at se på det nu. Dobbelt er datatypen bruges til at gemme nummerets decimalposition. Vi kan have op til 13 flydende decimaltal.

Se for eksempel på nedenstående VBA-kode.

I ovenstående har jeg defineret typen variabel (k) som heltal. Dim k som heltal

Dernæst har jeg tildelt værdien som k = 25.4561248694615

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

Vi fik resultatet som 25, da vi har defineret variablen som Heltal VBA-runde til nærmeste heltalsværdi.

For at vise resultatet, som det er, skal vi ændre variabeltypen fra heltal til dobbelt.

Dette skulle give os det nøjagtige antal, som vi tildelte variablen.

Ok, når vi holder dette for øje, kan vi også konvertere alle brøknumre, der er butikker som en ikke-dobbelt datatype.

Eksempler til brug af VBA CDBL-funktion

Eksempel nr. 1

Lad os se på nedenstående kode for at starte proceduren.

Kode:

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

Nu kører jeg koden og ser hvad der sker.

Selvom VBA-variabeltypen er "String", viser den stadig decimalværdierne. Dette skyldes, at streng kan være af enhver form for datatype, så decimal- eller flydende tal vises, som det er.

Nu vil jeg ændre vba-datatypen fra streng til heltal.

Kode:

Sub Double_Example1 () Dim k som heltal k = 48.14869569 MsgBox k End Sub

Nu kører jeg koden og ser hvad der sker.

Det er her CDBL-funktionen spiller en vigtig rolle i konvertering af heltal datatypen til dobbelt. Så nedenstående kode er den samme for dig.

Kode:

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

Dette konverterer strengdatatypeværdien til dobbelt.

Eksempel 2

Lad os nu konvertere nummeret 854.6947, som er gemt som Variant til dobbelt datatype.

Kode:

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

Den første variabel, jeg har erklæret som "Variant." Dim VaraintNumber

Bemærk: Når variabeltypen ikke deklareres, bliver den en universel datatype Variant.

Dernæst har jeg erklæret en variabel mere, dvs. Dim DoubleNumber som Double.

For den første variabel, VaraintNumber, har vi tildelt værdien 854.6947.

Nu ved at bruge den anden variabel har vi anvendt CDBL-funktionen til at konvertere variantværdien til dobbelt datatype.

DoubleNumber = CDbl (VaraintNumber)

Den sidste del er at vise resultatet i meddelelsesboksen. MsgBox DoubleNumber

Nu kører jeg koden for at se resultatet.

Ting at huske

  • En dobbelt datatype accepterer kun numeriske tal.
  • Hvis der leveres tekstværdi, vil det medføre en fejl i Type Mismatch.
  • En dobbelt datatype kan kun vise 13 cifre med flydende tal.

Interessante artikler...