VBA CDBL funkció - Hogyan lehet átalakítani az értéket kettős adattípusra?

Tartalomjegyzék

Excel VBA CDBL funkció

A VBA CDBL egy beépített adattípus-konverziós függvény, és ennek a funkciónak az a célja, hogy bármely adott változó értékének adattípusát Double Double típusúvá konvertálja, ez a függvény csak egyetlen argumentumot vesz fel, amely maga a változó értéke.

A VBA-ban a „CDBL” az „Átalakítás duplavá” kifejezés . Ez a függvény átalakítja a megadott számot Double típusúvá. Vessen egy pillantást a CDBL funkció szintaxisára.

  • A kifejezés az az érték, amelyet Double Data típusúvá próbálunk konvertálni.

Bármely lebegő szám, amelyet kettős adattípusként tárolnak, konvertálható a CDBL függvény alkalmazásával.

Mutasson az emlékezésre itt: Csak számértékeket lehet konvertálni Double típusú adatokká. A numerikus értéken kívül bármi más nem konvertálható kettős típusba, így végül az alábbihoz hasonlóan jelenik meg a „Type Mismatch Error in VBA”.

Használtál már kettős adattípust a VBA kódolásban?

Ha nem, akkor érdemes most megnézni. A dupla az adattípus a szám tizedeshelyének tárolására szolgál. Legfeljebb 13 lebegő tizedes szám lehet.

Nézze meg például az alábbi VBA kódot.

A fentiekben a (k) változó típust egész számként definiáltam. Dim k As egész szám

Ezután k = 25.4561248694615 értéket rendeltem hozzá

Amikor futtatom a kódot, az alábbiak szerint kapjuk meg az eredményt.

Az eredmény 25-ös volt, mivel a változót egész VBA-körként definiáltuk a legközelebbi egész értékre.

Ahhoz, hogy az eredmény jelen legyen, meg kell változtatnunk a változó típusát egész számról kettősre.

Ennek meg kell adnia a pontos számot, amelyet a változóhoz rendeltünk.

Ok, ezt szem előtt tartva, átalakíthatjuk az összes tört számot is, amelyek nem kettős adattípusként tárolódnak.

Példák a VBA CDBL funkció használatára

1. példa

Az eljárás megkezdéséhez nézzük meg az alábbi kódot.

Kód:

Sub Double_Példa1 () Dim k As karakterlánc k = 48.14869569 MsgBox k End Sub

Most futtatom a kódot, és meglátom, mi történik.

Annak ellenére, hogy a VBA változó típusa „String”, még mindig a tizedes értékeket mutatja. Ez azért van, mert a karakterlánc bármilyen típusú lehet, így a tizedes vagy a lebegő számok olyanok, amilyenek.

Most megváltoztatom az vba adattípust string-ről Integer-re.

Kód:

Sub Double_Példa1 () Dim k As Integer k = 48.14869569 MsgBox k End Sub

Most futtatom a kódot, és meglátom, mi történik.

Itt játszik szerepet a CDBL függvény az egész adattípus kettőssé alakításában. Tehát az alábbi kód ugyanaz az Ön számára.

Kód:

Al Double_Példa1 () Dim IntegerNumber mint karakterlánc Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub

Ez átalakítja a karakterlánc adattípusát Double értékre.

2. példa

Most konvertáljuk a 854.6947 számot, amelyet Változatként tárolunk Dupla adattípusra.

Kód:

Sub Double_Példa2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub

Az első változó, amelyet „Változatnak” deklaráltam. Dim VaraintNumber

Megjegyzés: Ha a változó típusa nincs deklarálva, akkor a Variant univerzális adattípus lesz belőle.

Ezután deklaráltam még egy változót, azaz a Dim DoubleNumber Double-t.

Az első VaraintNumber változóhoz az értéket 854.6947-nek rendeltük.

Most a második változó használatával a CDBL függvényt alkalmaztuk a Variant érték Double data típusúvá konvertálására.

DoubleNumber = CDbl (VaraintNumber)

Az utolsó rész az eredmény megjelenítése az üzenet mezőben. MsgBox DoubleNumber

Most futtatom a kódot, hogy lássam az eredményt.

Dolgok, amikre emlékezni kell

  • A kettős adattípus csak numerikus számokat fogad el.
  • Ha szöveges értéket ad meg, az hibát okoz a Típus-eltérésnél.
  • A kettős adattípus csak 13 számjegyű lebegő számot képes megjeleníteni.

érdekes cikkek...