Funktsioon VBA CDBL | Kuidas teisendada väärtus kahekordseks andmetüübiks?
Exceli VBA CDBL-i funktsioon
VBA CDBL on sisseehitatud andmetüübi teisendamise funktsioon ja selle funktsiooni kasutamine on see, et see teisendab mis tahes antud muutuja väärtuse andmetüübi Double andmetüübiks, see funktsioon võtab ainult ühe argumendi, mis on muutuja enda väärtus.
VBA-s tähistab "CDBL" "teisenda kahekordseks". See funktsioon teisendab antud numbri Double andmetüübiks. Heitke pilk CDBL-funktsiooni süntaksile.
- Avaldis on väärtus, mida proovime teisendada Double andmetüübiks.
Kõiki ujuvaid numbreid, mis on salvestatud muul kujul kui topeltandmetüüp, saab teisendada funktsiooni CDBL abil.
Märkige siin meelde: topeltandmetüübiks saab teisendada ainult arvväärtused. Muud kui arvväärtust ei saa teisendada topelttüübiks, nii et kuvatakse lõpuks allpool toodud tüüp „VBA tüübide mittevastavus”.
Kas olete kunagi VBA kodeerimisel kasutanud topeltandmetüüpi?
Kui ei, siis tasub seda kohe vaadata. Double on andmetüüpi, mida kasutatakse numbri kümnendkoha salvestamiseks. Meil võib olla kuni 13 ujuvat kümnendarvu.
Näite saamiseks vaadake allpool olevat VBA-koodi.
Eespool olen määranud muutuja (k) tüübi täisarvuks. Dim k täisarvuna
Järgmisena olen määranud väärtuseks k = 25,4561248694615
Kui ma koodi käivitan, saame tulemuse järgmiselt.
Tulemuseks saime 25. Kuna muutuja on määratletud täisarvuna VBA, täisarvuni.
Tulemuse näitamiseks peame muutuja tüübi täisarvuks topelt muutma.
See peaks andma meile täpse arvu, nagu me muutujale omistasime.
Ok, seda silmas pidades saame ka kõik murdarvud, mis on salvestatud, teisendada mitte-topeltandmetüübina.
Näited VBA CDBL-funktsiooni kasutamiseks
Selle VBA CDBL funktsioonimalli saate alla laadida siit - VBA CDBL funktsioonide mallNäide 1
Menetluse alustamiseks vaatame allolevat koodi.
Kood:
Sub Double_Nample1 () Dim k As String k = 48.14869569 MsgBox k End Sub
Nüüd käivitan koodi ja vaatan, mis juhtub.
Kuigi VBA muutuja tüüp on „String”, näitab see ikkagi kümnendväärtusi. Selle põhjuseks on asjaolu, et string võib olla mis tahes tüüpi andmetüüp, nii et kümnend- või ujuvad numbrid kuvatakse nii, nagu see on.
Nüüd muudan andmetüübi stringist täisarvuks.
Kood:
Alam Double_Nample1 () Dim k As Tervik k = 48.14869569 MsgBox k End Sub
Nüüd käivitan koodi ja vaatan, mis juhtub.
Siin mängib CDBL-funktsioon olulist rolli täisarvu andmetüübi teisendamiseks kahekordseks. Nii et kood on teie jaoks sama.
Kood:
Alam Double_Eample1 () Dim IntegerNumber stringina Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub
See teisendab stringi andmetüübi väärtuse Double.
Näide 2
Teisendame nüüd numbri 854.6947, mis on salvestatud variandina, topeltandmetüübiks.
Kood:
Sub Double_Näide2 () Dim VaraintNumber Dim DoubleNumber Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub
Esimene muutuja, mille olen deklareerinud variandina. Dim VaraintNumber
Märkus. Kui muutuja tüüpi ei deklareerita, saab sellest universaalne andmetüüp Variant.
Järgmisena olen deklareerinud veel ühe muutuja, st Dim DoubleNumber Double
Esimese muutuja VaraintNumber jaoks oleme määranud väärtuseks 854,6947.
Teise muutuja abil oleme nüüd muutnud väärtuse Variant teisendamiseks Double andmetüübiks funktsiooni CDBL.
DoubleNumber = CDbl (VaraintNumber)
Viimane osa on tulemuse kuvamine sõnumikastis. MsgBox DoubleNumber
Nüüd käivitan tulemuse nägemiseks koodi.
Asjad, mida meeles pidada
- Kahekordse andmetüübiga saab vastu võtta ainult numbrilisi numbreid.
- Kui tekstiväärtus on sisestatud, põhjustab see tüübi mittevastavuse tõrke.
- Kahekordne andmetüüp võib kuvada ainult 13 numbrit ujuvaid numbreid.