VBA Double - Ako deklarovať dvojitý dátový typ vo VBA?

Dvojitý dátový typ Excel VBA

VBA Double je druh dátového typu, ktorý priraďujeme k deklarácii premenných, čo je vylepšená alebo dlhšia verzia premennej dátového typu „Single“ a zvyčajne sa používa na ukladanie dlhších desatinných miest.

Dátový typ VBA Integer vždy prevádza desatinné hodnoty na najbližšiu celočíselnú hodnotu. Jeden typ údajov môže obsahovať až dve číslice desatinných miest. Na druhej strane „dvojitý“ dátový typ môže ukladať hodnoty od -1,79769313486231E308 do –4,94065645841247E324 pre záporné hodnoty a pre kladné čísla môže ukladať hodnoty od 4,94065645841247E-324 do 1,79769313486232E308 .

Dôležitejšie je, že spotrebuje 8 bajtov pamäte.

Príklady použitia dvojitého dátového typu VBA

Príklad č

Predtým, ako si ukážeme príklad dátového typu „Double“, pozrime sa na vzorové kódy dátového typu „Integer“ a „Single“ vo VBA. Pozrite sa na nižšie uvedený kód VBA.

Kód:

Sub Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub

Premennú „k“ som deklaroval ako celé číslo a pre túto premennú som priradil hodnotu 2,569999947164.

Spustime tento kód manuálne alebo pomocou klávesovej skratky F5 programu Excel, aby sme videli konečnú hodnotu v okne správy vo VBA.

Výsledok sa zobrazuje ako 3 namiesto dodaného počtu 2,569999947164. Dôvod, pretože je VBA, previedol číslo na najbližšiu celočíselnú hodnotu, tj. 3.

Ak je desatinná hodnota väčšia ako 0,5, prevedie sa na ďalšiu celočíselnú hodnotu a keď je desatinná hodnota menšia ako 0,51, prevedie sa na celočíselnú hodnotu.

Teraz zmením typ údajov z Integer na Single.

Kód:

Sub Integer_Ex () Dim k As Single k = 2,569999947164 MsgBox k End Sub

Spustite kód pomocou klávesovej skratky F5 a uvidíte, aké číslo tentokrát dostaneme.

Tentokrát sme dostali výsledok ako 2,57, takže tentokrát sme dostali dve desatinné miesta. Pôvodná hodnota, ktorú sme priradili, bola 2,569999947164, takže v tomto prípade po tretie, umiestnená desatinná hodnota je 9, takže keďže je to viac ako 5, konvertovala sa desatinná hodnota druhého miesta 6 na 7.

Teraz zmeňte typ údajov z jednoduchého na dvojitý.

Kód:

Sub Integer_Ex () Dim k As Double k = 2,569999947164 MsgBox k End Sub

Teraz spustite kód manuálne a uvidíte, koľko číslic dostaneme vo výsledku okna so správou.

Tentokrát som dostal všetky desatinné hodnoty. V rámci dvojitého údajového typu môžeme dodať až 14 číslic desatinných miest.

Predpokladajme, že zadáte hodnotu väčšiu ako 14 desatinných pozícií, ktorá bude prevedená na najbližšiu hodnotu. Napríklad sa pozrite na obrázok nižšie.

Zadal som 15 desatinných miest namiesto 14. Ak stlačím kláves Enter, vráti sa iba na 14 číslic.

Namiesto 59 (posledné dve číslice) sme dostali 6 tj., Pretože posledná číslica je 9, čo je viac ako 5, predchádzajúce číslo 5 sa prevedie na ďalšiu celočíselnú hodnotu, tj. 6

Príklad č

Teraz ukážem, ako pracovať s odkazom na bunku v hárku. Nižšie sú uvedené čísla, ktoré som zadal do tabuľky.

Začnime zachytávať rovnaké hodnoty do budúcich pomocou dátového typu INTEGER, dátového typu SINGLE a DOUBLE .

Nižšie je uvedený kód na uchovanie hodnôt zo stĺpca A do B pomocou dátového typu INTEGER.

Kód:

Sub Double_Ex () Dim k As Integer Dim CellValue As Integer For k = 1 To 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub

Spustíme kód pomocou klávesovej skratky F5, aby sme zistili, aké hodnoty dostaneme v stĺpci B.

Keď sme ako dátový typ použili celé číslo, dostali sme všetky celé čísla, tj. Bez desatinných miest.

Teraz len zmením dátový typ VBA premennej z celého čísla na Single.

Kód:

Sub Double_Ex () Dim k As Integer Dim CellValue As Single For k = 1 To 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub

Tento kód poskytne výsledok uvedený nižšie.

Tentokrát sme dostali iba dve desatinné miesta.

Teraz sa zmení typ údajov z jednoduchého na dvojitý.

Kód:

Sub Double_Ex () Dim k As Integer Dim CellValue As Double For k = 1 až 6 CellValue = Cells (k, 1). Value Cells (k, 2). Value = CellValue Next k End Sub

Týmto sa vráti nižšie uvedený výsledok.

Presné hodnoty máme zo stĺpca A.

Na čo treba pamätať

  • Double je vylepšený dátový typ dátového typu Single.
  • Môže obsahovať až 14 desatinných miest.
  • Spotrebuje 8 bajtov systémovej pamäte.

Zaujímavé články...