Excel VBA CDBL funkcija
VBA CDBL je ugrađena funkcija pretvorbe tipa podataka i upotreba ove funkcije je u tome što pretvara tip podataka bilo koje zadane vrijednosti varijable u Double tip podataka, ova funkcija uzima samo jedan argument koji je vrijednost same varijable.
U VBA, "CDBL" znači "Pretvori u dvostruko". Ova funkcija pretvara zadani broj u Double tip podataka. Pogledajte sintaksu funkcije CDBL.

- Izraz je vrijednost koju pokušavamo pretvoriti u tip podataka Double.
Bilo koji plutajući broj koji je pohranjen kao drugačiji od dvostrukog tipa podataka može se pretvoriti primjenom funkcije CDBL.
Ovdje ukažite na to da se zapamtite: samo se numeričke vrijednosti mogu pretvoriti u tip podataka Double. Sve osim numeričke vrijednosti ne može se pretvoriti u dvostruki tip, pa se na kraju prikazuje "Pogreška neusklađenosti tipa u VBA", kao u nastavku.

Jeste li ikada koristili dvostruki tip podataka u VBA kodiranju?
Ako ne, vrijedi ga pogledati sada. Double je vrsta podataka koja se koristi za pohranu decimalnog položaja broja. Možemo imati do 13 plutajućih decimalnih brojeva.
Na primjer, pogledajte donji VBA kod.

U gore navedenom definirao sam tip varijable (k) kao Integer. Dim k As Integer
Dalje, dodijelio sam vrijednost kao k = 25,4561248694615
Kad pokrenem kod, dobit ćemo rezultat kako slijedi.

Rezultat smo dobili kao 25 jer smo varijablu definirali kao Integer VBA zaokruživanje na najbližu cjelobrojnu vrijednost.
Da bismo prikazali rezultat kakav jest, moramo promijeniti vrstu varijable iz Integer u Double.

To bi nam trebalo dati točan broj koji smo dodijelili varijabli.

Ok, imajući ovo na umu, također možemo pretvoriti sve brojeve razlomaka koji se pohranjuju kao ne-dvostruka vrsta podataka.
Primjeri upotrebe VBA CDBL funkcije
Primjer # 1
Da započnemo postupak, pogledajmo donji kod.
Kodirati:
Sub Double_Example1 () Dim k As String k = 48.14869569 MsgBox k End Sub

Sad ću pokrenuti kod i vidjeti što će se dogoditi.

Iako je vrsta varijable VBA "String", ona i dalje prikazuje decimalne vrijednosti. To je zato što String može biti bilo koje vrste podataka, pa se decimalni ili plutajući brojevi prikazuju takvi kakvi jesu.
Sada ću promijeniti vrstu podataka vba iz niza u Integer.
Kodirati:
Sub Double_Example1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub

Sad ću pokrenuti kod i vidjeti što će se dogoditi.

Ovdje CDBL funkcija igra vitalnu ulogu u pretvaranju cjelobrojnog tipa podataka u dvostruko. Dakle, donji kod je isti za vas.
Kodirati:
Sub Double_Example1 () Dim IntegerNumber As String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub

Ovo će pretvoriti vrijednost tipa podataka niza u Double.

Primjer # 2
Sada pretvorimo broj 854.6947, koji je pohranjen kao Variant u tip podataka Double.
Kodirati:
Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub

Prvu varijablu proglasio sam "Variant". Zatamnjeni broj Varaint-a
Napomena: Kada tip varijable nije deklariran, ona postaje univerzalni tip podataka Variant.
Dalje, proglasio sam još jednu varijablu, tj. Dim DoubleNumber As Double.
Za prvu varijablu, VaraintNumber, dodijelili smo vrijednost kao 854,6947.
Sada smo uporabom druge varijable primijenili funkciju CDBL za pretvorbu vrijednosti Variant u tip podataka Double.
DoubleNumber = CDbl (VaraintNumber)
Posljednji dio je prikaz rezultata u okviru s porukom. MsgBox DoubleNumber
Sada ću pokrenuti kod da vidim rezultat.

Stvari koje treba zapamtiti
- Dvostruki tip podataka može prihvatiti samo numeričke brojeve.
- Ako se navede tekstualna vrijednost, to će uzrokovati pogrešku Type Mismatch.
- Dvostruki tip podataka može prikazati samo 13 znamenki plutajućih brojeva.