VBA CDEC - Kuinka käyttää CDEC-toimintoa VBA: ssa? (Esimerkkejä)

Sisällysluettelo

CDEC-toiminto VBA: ssa

CDEC on sisäänrakennettu tietotyypin muunnostoiminto, joka on saatavana VBA-funktiona. VBA CDEC -toiminto muuntaa tietotyypin mistä tahansa muusta tietotyypistä desimaalitietotyypiksi. Se tarkoittaa "Muunna desimaaliksi".

Kun työskentelemme datan kanssa ja pyydämme käyttäjiä syöttämään arvot, voi olla useita muotoja, joissa käyttäjä voi antaa meille arvoja, kuten käyttäjä voi antaa desimaaliarvon ja ei-desimaalisen arvon, CDEC-toiminto VBA auttaa meitä muuntaa minkä tahansa arvon desimaaliarvoksi, ja se on sisäänrakennettu funktio Excelissä.

Alla on CDEC-toiminnon syntaksi.

Lauseke: Tämä ei ole muuta kuin arvo, jonka yritämme muuntaa desimaalitietotyypiksi. Tämä voi olla joko suora numeerinen arvo tai muuttuja, joka pitää numeerisen arvon.

  • Ennen kuin näemme kuinka muuntaa arvo desimaalitietotyypeiksi, haluan kertoa sinulle desimaalitietotyypistä yksityiskohtaisesti.
  • Yleiset numeeriset tietotyypit, joita käytämme, ovat "Pitkä, Kokonaisluku ja Kaksinkertainen". Pitkien desimaaliarvojen pitämiseen ei ole käytettävissä erityistä tietotyyppiä ”Desimaali”. Pitkät ja kokonaislukutyypit muuntavat luvun kokonaisluvuksi, vaikka desimaaliarvo on osoitettu heille.
  • Joten, jotta desimaaliarvot voidaan tallentaa muuttujiin, meidän on ilmoitettava muuttuja "Variant" -tietotyypiksi. Sitten käyttämällä VBA CDEC -toimintoa voimme muuntaa desimaalitietotyypiksi.
  • Jos haluat tallentaa desimaaliarvot enintään 14 numeroon, voimme käyttää kaksoistietotyyppiä, mutta VBA CDEC -muunnostoimintoa käyttämällä voimme tallentaa 28 desimaalipistettä.
  • Kun kyseessä on muistin käyttö, CDEC kuluttaa 14 tavua järjestelmämuistia, ja koska ilmoitamme muuttujan tietotyypin "Variantiksi" etukäteen, arvo on aina nolla.

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

Näemme muutamia esimerkkejä artikkelin seuraavassa osassa.

Katso esimerkiksi alla olevaa VBA-koodia.

Koodi:

Sub CDEC_Example () Dim k As Luku k = 2.5698979797646 MsgBox k End Sub

Edellä on ilmoitettu, että VBA-muuttuja on "Kokonaisluku", kun suoritamme koodin, ja saamme arvon VBA: n viestiruutuun kuten alla.

Kun olemme määrittäneet arvon 2,5698979797646 tulokseksi 3, tämä johtuu siitä, että muuttujalle määräämämme tietotyyppi on ”Kokonaisluku”, joten se muuntaa luvun lähimpään kokonaislukuun.

Huomaa: Jos desimaaliarvo on> 0,5, se pyöristetään ylöspäin seuraavaan kokonaislukuarvoon ja jos desimaaliarvo on <0,51, se pyöristetään alaspäin kokonaisluvun alapuolelle.
  • Ok, anna minun määrittää CDEC-toiminto muuntamaan tietotyypin arvo desimaaliksi.
  • Kuten yllä voit nähdä, olen antanut arvon muuttujalle “k” käyttämällä VBA CDEC -muunnostoimintoa.
  • Suorita koodi ja katso mitä saamme.
  • Jopa nyt saimme tuloksen kolmeksi määritetyn hetkellisen kokonaislukutietotyypin takia, ja se pyöristää luvun aina seuraavaan kokonaislukuun.

Joten, jotta ensin määritetään ”Desimaali” -tietotyyppi, meidän on määritettävä tietotyypiksi ”Variantti” ja muunnettava sitten desimaaliksi käyttämällä CDEC-toimintoa.

Koodi:

Sub CDEC_Example () Dim k Variantti k = CDec (2.5698979797646) MsgBox k End Sub

Suorita nyt koodi ja katso mitä saamme.

Vielä yksi erikoisuus tämän desimaalin tietotyypistä on, että voimme tallentaa yli 14 numeroa desimaaliarvoja, toisin kuin kaksinkertainen tietotyyppi, johon mahtuu vain 14 desimaalia.

Nyt kirjoitan muuttujaan yli 14 numeroa lainausmerkeissä.

Koodi:

Sub CDEC_Example () Dim k As Variant k = CDec ("2.56989797976466769416958") MsgBox k End Sub
Huomaa: Syötä numero kaksoislainausmerkeillä, koska ilman kaksinumeroisia lainausmerkkejä 14 numeron jälkeen se pyöristyy. Numeroiden kirjoittaminen lainausmerkeissä.

Suorita nyt koodi ja katso mitä saamme.

Olemme saaneet kaikki desimaaliluvut, jotka olemme kirjoittaneet lainausmerkkien sisään.

Muistettavaa

  • CDEC tarkoittaa "Muunna desimaaliksi".
  • Se hyväksyy vain ”Variant” -tietotyypin.
  • ”Decimal” -tietotyyppiä ei ole, mutta käyttämällä CDEC-toimintoa voimme muuntaa helposti desimaalityyppiseksi.
  • Erikoisuus on, että siinä voi olla ”28” desimaalin tarkkuudella.

Mielenkiintoisia artikkeleita...