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 mall

Nä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.

$config[zx-auto] not found$config[zx-overlay] not found