VBA CDEC - Ako používať funkciu CDEC vo VBA? (Príklady)

Funkcia CDEC vo VBA

CDEC je zabudovaná funkcia prevodu dátových typov dostupná ako funkcia VBA. Funkcia VBA CDEC prevádza dátový typ z ktoréhokoľvek iného dátového typu na desatinný dátový typ. Znamená to „Konvertovať na desatinné miesto“.

Keď pracujeme s údajmi a požiadame používateľov o zadanie hodnôt, môže existovať množstvo formátov, v ktorých nám môže používateľ poskytnúť hodnoty, ako napríklad používateľ môže poskytnúť desatinnú hodnotu a nedeciálnu hodnotu, funkciu CDEC v VBA nám pomáha prevádzať ľubovoľné hodnoty na desatinné hodnoty a jedná sa o zabudovanú funkciu v programe Excel.

Nižšie je uvedená syntax funkcie CDEC.

Výraz: Toto nie je nič iné ako hodnota, ktorú sa pokúšame previesť na desatinný dátový typ. Môže to byť buď priama číselná hodnota, alebo premenná, ktorá drží číselnú hodnotu.

  • Skôr ako uvidíme, ako previesť hodnotu na desatinné dátové typy, dovoľte mi podrobne vás oboznámiť s typom desatinných údajov.
  • Bežné numerické dátové typy, ktoré používame, sú „Long, Integer a Double.“ Nie je k dispozícii žiadny špeciálny dátový typ „Decimal“, ktorý by uchovával dlhé desatinné hodnoty. Dátové typy typu Long & Integer prevádzajú číslo na celé číslo, aj keď je im priradená desatinná hodnota.
  • Na ukladanie desatinných hodnôt do premenných teda musíme deklarovať premennú ako dátový typ „Variant“. Potom pomocou funkcie VBA CDEC môžeme previesť na desatinný dátový typ.
  • Na ukladanie desatinných hodnôt až do 14 číslic môžeme použiť dátový typ „Double“, ale pomocou konverznej funkcie VBA CDEC môžeme uložiť 28 desatinných miest.
  • Pokiaľ ide o obsadenie pamäte, CDEC spotrebuje 14 bajtov systémovej pamäte, a keďže vopred deklarujeme variabilný dátový typ ako „Variant“, bude hodnota vždy nula.

Príklady použitia funkcie VBA CDEC

V nasledujúcej časti článku uvidíme niekoľko príkladov.

Napríklad sa pozrite na nižšie uvedený kód VBA.

Kód:

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

Vo vyššie uvedenom texte sme pri spustení kódu deklarovali premennú VBA ako „Celé číslo“ a hodnotu dostaneme do poľa so správou vo VBA, ako je uvedené nižšie.

Keď sme hodnote 2,5698979797646 výsledkov priradili hodnotu 3, je to preto, že dátový typ, ktorý sme premennej priradili, je „Integer“, takže číslo sa prevedie na najbližšiu celočíselnú hodnotu.

Poznámka: Ak je desatinná hodnota> 0,5, potom sa zaokrúhli nahor na ďalšiu celočíselnú hodnotu, a ak je desatinná hodnota <0,51, zaokrúhli sa nadol na celú celočíselnú hodnotu.
  • Dobre, teraz mi dovoľte priradiť funkciu CDEC na prevod hodnoty dátového typu na desatinné miesto.
  • Ako vidíte vyššie, premennej „k“ som priradil hodnotu pomocou funkcie prevodu VBA CDEC.
  • Vykonajte kód a uvidíte, čo dostaneme.
  • Aj teraz sme dostali výsledok ako tri z dôvodu prideleného dátového typu Integer v okamihu a vždy zaokrúhli číslo na ďalšiu celočíselnú hodnotu.

Aby sme teda mohli najskôr priradiť dátový typ „Decimal“, musíme dátový typ priradiť ako „Variant“ a potom prevádzať na Decimal pomocou funkcie CDEC.

Kód:

Sub CDEC_Example () Dim k As Variant k = CDec (2.5698979797646) MsgBox k End Sub

Teraz vykonajte kód a uvidíte, čo dostaneme.

Ďalšou špecialitou tohto desatinného dátového typu je, že môžeme ukladať viac ako 14-miestne desatinné hodnoty, na rozdiel od dátového typu Double, ktorý môže obsahovať iba 14 desatinných miest.

Teraz do premennej v dvojitých úvodzovkách zadám viac ako 14 číslic.

Kód:

Sub CDEC_Example () Dim k ako variant k = CDec ("2.56989797976466769416958") MsgBox k End Sub
Poznámka: Zadajte číslo s úvodzovkami, pretože bez dvojitých úvodzoviek po 14 čísliciach sa číslovanie bude ďalej zaokrúhľovať. Na zadávanie čísel v úvodzovkách.

Teraz spustite kód a uvidíte, čo dostaneme.

Dostali sme všetky desatinné čísla, ktoré sme zadali do úvodzoviek.

Na čo treba pamätať

  • CDEC znamená „Prevod na desatinné miesta“.
  • Prijíma iba dátový typ „Variant“.
  • Neexistuje dátový typ „Decimal“, ale pomocou funkcie CDEC môžeme ľahko konvertovať na desatinný dátový typ.
  • Špecialitou je, že môže obsahovať „28“ číslice desatinných miest.

Zaujímavé články...