VBA CDBL -toiminto | Kuinka muuntaa arvo kaksinkertaiseksi tietotyypiksi?

Excel VBA CDBL -toiminto

VBA CDBL on sisäänrakennettu tietotyypin muunnosfunktio ja tämän toiminnon käyttö on, että se muuntaa minkä tahansa muuttujan arvon tietotyypin Double-tietotyypiksi.Tämä funktio vie vain yhden argumentin, joka on muuttujan arvo.

VBA: ssa "CDBL" tarkoittaa "Muunna kaksinkertaiseksi". Tämä toiminto muuntaa annetun numeron Double-tietotyypiksi. Katso CDBL-toiminnon syntaksia.

  • Lauseke on arvo, jonka yritämme muuntaa Double-tietotyypiksi.

Mikä tahansa kelluva luku, joka on tallennettu muuna kuin kaksoistietotyyppinä, voidaan muuntaa soveltamalla CDBL-toimintoa.

Muista tässä: Vain numeeriset arvot voidaan muuntaa Double-tietotyypiksi. Mitään muuta kuin numeerista arvoa ei voida muuntaa kaksoistyypiksi, joten näytetään lopulta ”Type Mismatch Error in VBA” kuten alla.

Oletko koskaan käyttänyt kaksoistietotyyppiä VBA-koodauksessa?

Jos ei, kannattaa tarkastella sitä nyt. Kaksinkertainen on tietotyyppi, jota käytetään luvun desimaalipaikan tallentamiseen. Meillä voi olla jopa 13 kelluvaa desimaalilukua.

Katso esimerkki alla olevasta VBA-koodista.

Edellä on määritelty muuttujan (k) tyyppi kokonaisluvuksi. Dim k kokonaislukuna

Seuraavaksi olen määrittänyt arvon arvoksi k = 25,4561248694615

Kun suoritan koodin, saamme tuloksen seuraavasti.

Tulokseksi saatiin 25. Koska olemme määritelleet muuttujan kokonaislukuna VBA, pyöristetään lähimpään kokonaislukuun.

Tuloksen näyttämiseksi sellaisenaan meidän on muutettava muuttujan tyyppi kokonaisluvusta kaksinkertaiseksi.

Tämän pitäisi antaa meille tarkka lukumäärä muuttujalle.

Ok, pitäen tämän mielessä, voimme myös muuntaa kaikki murtoluvut, jotka ovat tallennettuja kuin kaksinkertainen tietotyyppi.

Esimerkkejä VBA CDBL -toiminnon käytöstä

Voit ladata tämän VBA CDBL -toimintomallin täältä - VBA CDBL -toimintomalli

Esimerkki 1

Menettelyn aloittamiseksi katsotaan alla olevaa koodia.

Koodi:

 Sub Double_Eample1 () Dim k As String k = 48.14869569 MsgBox k End Sub 

Suoritan nyt koodin ja näen mitä tapahtuu.

Vaikka VBA-muuttujatyyppi on "String", se näyttää silti desimaaliarvot. Tämä johtuu siitä, että merkkijono voi olla mitä tahansa tietotyyppiä, joten desimaaliluvut tai kelluvat luvut näkyvät sellaisenaan.

Nyt vaihdan tietotyypin merkkijonosta kokonaislukuun.

Koodi:

 Sub Double_Example1 () Dim k kuten kokonaisluku k = 48.14869569 MsgBox k End Sub 

Suoritan nyt koodin ja näen mitä tapahtuu.

Tässä CDBL-toiminnolla on tärkeä rooli muunnettaessa kokonaislukutietotyyppi kaksinkertaiseksi. Joten alla oleva koodi on sama sinulle.

Koodi:

 Al Double_Example1 () Dim IntegerNumber as String Dim DoubleNumber As Double IntegerNumber = 48.14869569 DoubleNumber = CDbl (IntegerNumber) MsgBox DoubleNumber End Sub 

Tämä muuntaa merkkijonon tietotyypin arvon kaksinkertaiseksi.

Esimerkki 2

Muunna nyt luku 854.6947, joka on tallennettu Variantiksi Double-tietotyypiksi.

Koodi:

 Sub Double_Example2 () Dim VaraintNumber Dim DoubleNumber As Double VaraintNumber = 854.6947 DoubleNumber = CDbl (VaraintNumber) MsgBox DoubleNumber End Sub 

Ensimmäinen muuttuja, jonka olen ilmoittanut "Variantiksi". Dim VaraintNumero

Huomaa: Kun muuttujatyyppiä ei ilmoiteta, siitä tulee universaali tietotyyppi Variant.

Seuraavaksi olen ilmoittanut yhden muuttujan eli Dim DoubleNumber Double: ksi

Ensimmäiselle muuttujalle VaraintNumber olemme määrittäneet arvon 854.6947.

Nyt käyttämällä toista muuttujaa, olemme käyttäneet CDBL-toimintoa muunnellaksemme Variant-arvon Double-tietotyypiksi.

DoubleNumber = CDbl (Varanumero)

Viimeinen osa on näyttää tulos viestikentässä. MsgBox DoubleNumber

Suoritan nyt koodin nähdäksesi tuloksen.

Muistettavaa

  • Kaksinkertainen tietotyyppi voi hyväksyä vain numeerisia numeroita.
  • Jos tekstiarvo annetaan, se aiheuttaa tyypin ristiriidan virheen.
  • Kaksinkertainen tietotyyppi voi näyttää vain 13 numeroa kelluvia numeroita.

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