Funkcija Excel VBA CDBL
VBA CDBL je vgrajena funkcija pretvorbe podatkovnega tipa in uporaba te funkcije je, da pretvori podatkovni tip katere koli vrednosti spremenljivke v dvojni podatkovni tip, ta funkcija sprejme samo en argument, ki je vrednost same spremenljivke.
V VBA »CDBL« pomeni »Pretvori v dvojno«. Ta funkcija pretvori dano številko v tip podatkov Double. Oglejte si sintakso funkcije CDBL.

- Izraz je vrednost, ki jo poskušamo pretvoriti v tip podatkov Double.
Vsako plavajočo številko, ki je shranjena kot drugačna vrsta podatkov, je mogoče pretvoriti z uporabo funkcije CDBL.
Tukaj pokažite, da si zapomnite: v numerični tip Double lahko pretvorite samo številčne vrednosti. Vsega razen številske vrednosti ni mogoče pretvoriti v dvojni tip, zato se na koncu prikaže »Napaka pri neusklajenem tipu v VBA«, kot je prikazano spodaj.

Ste že kdaj uporabili dvojni podatkovni tip pri kodiranju VBA?
Če ne, je vredno zdaj to pogledati. Double je podatkovni tip, ki se uporablja za shranjevanje decimalnega mesta števila. Lahko imamo do 13 plavajočih decimalnih števil.
Na primer, poglejte spodnjo kodo VBA.

V zgoraj navedenem sem vrsto spremenljivke (k) opredelil kot celo število. Dim k kot celo število
Nato sem vrednost dodelil kot k = 25,4561248694615
Ko zaženem kodo, bomo dobili rezultat, kot sledi.

Rezultat smo dobili kot 25, saj smo spremenljivko definirali kot Integer VBA round na najbližjo celoštevilčno vrednost.
Če želite rezultat prikazati takšen, kot je, moramo spremenljivko spremeniti iz Integer v Double.

To nam mora dati natančno številko, kot smo jo dodelili spremenljivki.

Ok, če upoštevamo to, lahko pretvorimo tudi vsa števila ulomkov, ki so shranjena kot nedvojna vrsta podatkov.
Primeri uporabe funkcije VBA CDBL
Primer # 1
Za začetek postopka si oglejmo spodnjo kodo.
Koda:
Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub

Zdaj bom zagnal kodo in videl, kaj se bo zgodilo.

Čeprav je vrsta spremenljivke VBA »String«, še vedno prikazuje decimalne vrednosti. To je zato, ker je String lahko katere koli vrste podatkov, zato so decimalna ali plavajoča števila prikazana takšna, kot so.
Zdaj bom vrsto podatkov vba spremenil iz niza v celo število.
Koda:
Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub

Zdaj bom zagnal kodo in videl, kaj se bo zgodilo.

Tu ima funkcija CDBL ključno vlogo pri pretvorbi celoštevilčnega podatkovnega tipa v dvojno. Torej, spodnja koda je za vas enaka.
Koda:
Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub

To bo pretvorilo vrednost tipa podatkov niza v Double.

2. primer
Zdaj pretvorimo številko 854.6947, ki je shranjena kot Variant v podatkovni tip Double.
Koda:
Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber kot Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub

Prvo spremenljivko sem razglasil za "Variant". Dim VaraintNumber
Opomba: Ko vrsta spremenljivke ni deklarirana, postane univerzalni podatkovni tip Variant.
Nato sem razglasil še eno spremenljivko, tj. Dim DoubleNumber As Double.
Za prvo spremenljivko VaraintNumber smo dodelili vrednost 854,6947.
Zdaj smo z uporabo druge spremenljivke uporabili funkcijo CDBL za pretvorbo vrednosti Variant v tip podatkov Double.
DoubleNumber = CDbl (VaraintNumber)
Zadnji del je prikaz rezultata v polju za sporočila. MsgBox DoubleNumber
Zdaj bom zagnal kodo, da vidim rezultat.

Stvari, ki si jih je treba zapomniti
- Dvojni podatkovni tip lahko sprejema samo številčne številke.
- Če je navedena besedilna vrednost, bo to povzročilo napako v Type Mismatch.
- Dvojni podatkovni tip lahko prikaže samo 13 števk plavajočih števil.