VBA CDBL-funktion - Hur konverterar man värde till dubbel datatyp?

Innehållsförteckning

Excel VBA CDBL-funktion

VBA CDBL är en inbyggd datatypskonverteringsfunktion och användningen av denna funktion är att den konverterar datatypen för en viss variabel till ett dubbelt datatyp, den här funktionen tar bara ett enda argument som är värdet för själva variabeln.

I VBA står "CDBL" för "Convert to Double." Denna funktion konverterar det angivna numret till dubbel datatyp. Ta en titt på syntaxen för CDBL-funktionen.

  • Uttrycket är det värde som vi försöker konvertera till dubbel datatyp.

Alla flytande nummer som lagras som andra än dubbel datatyp kan konverteras genom att använda CDBL-funktionen.

Peka på att komma ihåg här: Endast numeriska värden kan konverteras till dubbel datatyp. Allt annat än numeriskt värde kan inte konverteras till dubbel typ, så sluta visa "Type Mismatch Error in VBA" som nedan.

Har du någonsin använt en dubbel datatyp i VBA-kodning?

Om inte, är det värt att titta på det nu. Dubbel är datatypen som används för att lagra decimalpositionen för numret. Vi kan ha upp till 13 flytande decimaler.

Titta till exempel på nedanstående VBA-kod.

I ovanstående har jag definierat variabeln (k) som heltal. Dim k som heltal

Därefter har jag tilldelat värdet som k = 25.4561248694615

När jag kör koden får vi resultatet enligt följande.

Vi fick resultatet som 25 eftersom vi har definierat variabeln som Integer VBA-runda till närmaste heltal.

För att visa resultatet som det är måste vi ändra variabeltypen från heltal till dubbel.

Detta borde ge oss det exakta antalet som vi tilldelade variabeln.

Ok, med detta i åtanke kan vi också konvertera alla bråknummer, som är lagrade som en icke-dubbel datatyp.

Exempel på användning av VBA CDBL-funktion

Exempel 1

För att inleda förfarandet, låt oss titta på koden nedan.

Koda:

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

Nu ska jag köra koden och se vad som händer.

Även om VBA-variabeltypen är "Sträng" visar den fortfarande decimalvärdena. Detta beror på att sträng kan vara av vilken typ av datatyp som helst, så decimala eller flytande siffror visas som de är.

Nu kommer jag att ändra vba-datatypen från sträng till heltal.

Koda:

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

Nu ska jag köra koden och se vad som händer.

Det är här CDBL-funktionen spelar en viktig roll för att konvertera datatypen för heltal till dubbel. Så nedan är koden densamma för dig.

Koda:

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

Detta konverterar strängdatatypens värde till Double.

Exempel 2

Låt oss nu konvertera numret 854.6947, som lagras som Variant till dubbel datatyp.

Koda:

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

Den första variabeln har jag förklarat som "Variant." Dim VaraintNumber

Obs! När variabeln inte deklareras blir den en universell datatyp Variant.

Därefter har jag förklarat en ytterligare variabel, dvs Dim DoubleNumber som Double.

För den första variabeln, VaraintNumber, har vi tilldelat värdet 854.6947.

Nu genom att använda den andra variabeln har vi tillämpat CDBL-funktionen för att konvertera Variant-värdet till dubbel datatyp.

DoubleNumber = CDbl (VaraintNumber)

Den sista delen är att visa resultatet i meddelandefältet. MsgBox DoubleNumber

Nu kommer jag att köra koden för att se resultatet.

Saker att komma ihåg

  • En dubbel datatyp kan endast acceptera siffror.
  • Om textvärdet anges kommer det att orsaka ett fel i typavvikelsen.
  • En dubbel datatyp kan endast visa 13 siffror med flytande nummer.

Intressanta artiklar...