VBA Double | Jak deklarovat dvojitý datový typ ve VBA?

Dvojitý datový typ Excel VBA

VBA Double je druh datového typu, který přiřadíme k deklaraci proměnných, což je vylepšená nebo delší verze proměnné datového typu „Single“ a obvykle se používá k ukládání delších desetinných míst.

Datový typ VBA Integer vždy převede desítkové hodnoty na nejbližší celočíselnou hodnotu, jediný datový typ může zobrazit až dvě číslice desetinných míst. Na druhou stranu datový typ „Double“ může ukládat hodnoty od -1,79769313486231E308 do –4,94065645841247E324 pro záporné hodnoty a pro kladná čísla může ukládat hodnoty od 4,94065645841247E-324 do 1,79769313486232E308 .

Ještě důležitější je, že spotřebovává 8 bajtů paměti.

Příklady použití VBA Double Data Type

Tuto šablonu VBA Double Excel si můžete stáhnout zde - Šablona VBA Double Excel

Příklad č. 1

Než uvidíme příklad datového typu „Double“, podívejme se na ukázkové kódy datového typu „Integer“ a „Single“ ve VBA. Podívejte se na níže uvedený kód VBA.

Kód:

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

Proměnnou „k“ jsem deklaroval jako Integer a pro tuto proměnnou jsem přiřadil hodnotu 2,569999947164.

Spustíme tento kód ručně nebo pomocí klávesové zkratky aplikace Excel F5, abychom viděli konečnou hodnotu v okně se zprávou ve VBA.

Výsledek se zobrazuje jako 3 místo dodaného počtu 2,569999947164. Důvod, protože je VBA, převedl číslo na nejbližší celočíselnou hodnotu, tj. 3.

Pokud je desetinná hodnota větší než 0,5, převede se na další celočíselnou hodnotu a když je desetinná hodnota menší než 0,51, převede se na celočíselnou hodnotu.

Nyní změním datový typ z Integer na Single.

Kód:

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

Spusťte kód pomocí klávesové zkratky F5 a podívejte se, jaké číslo tentokrát získáme.

Tentokrát jsme dostali výsledek jako 2,57, takže tentokrát jsme dostali dvě desetinná místa. Původní hodnota, kterou jsme přiřadili, byla 2,569999947164, takže v tomto případě za třetí, umístěná desetinná hodnota je 9, takže protože je to více než 5, převedla desetinnou hodnotu druhého místa 6 na 7.

Nyní změňte datový typ z Single na Double.

Kód:

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

Nyní spusťte kód ručně a podívejte se, kolik číslic dostaneme ve výsledku pole se zprávou.

Tentokrát byly získány všechny desetinné hodnoty. V rámci datového typu Double můžeme dodat až 14 číslic desetinných míst.

Pokud zadáte jakoukoli hodnotu větší než 14, bude desetinná pozice převedena na nejbližší hodnotu. Například se podívejte na obrázek níže.

Napsal jsem 15 desetinných míst namísto 14, pokud stisknu klávesu Enter, bude zpět pouze na 14 číslic.

Místo 59 (poslední dvě číslice) jsme dostali 6, tj. Protože poslední číslice je 9, což je větší než 5, předchozí číslo 5 se převede na další celočíselnou hodnotu, tj. 6

Příklad č. 2

Nyní ukážu, jak pracovat s odkazem na buňku v listu. Níže jsou čísla, která jsem zadal do listu.

Pojďme zahájit zachycení stejných hodnot do další pomocí datového typu INTEGER, datového typu SINGLE a DOUBLE .

Níže je uveden kód pro uchování hodnot ze sloupce A do B pomocí datové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 

Pojďme spustit kód pomocí klávesové zkratky F5, abychom zjistili, jaké hodnoty dostaneme ve sloupci B.

Když jsme použili Integer jako datový typ, dostali jsme všechna celá čísla, tj. Bez desetinných míst.

Teď jen změním datový typ vba proměnné 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 níže uvedený výsledek.

Tentokrát jsme dostali pouze dvě desetinná místa.

Nyní se změní datový typ z jednoduchého na dvojitý.

Kód:

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

Tím se vrátí níže uvedený výsledek.

Máme přesné hodnoty ze sloupce A.

Věci k zapamatování

  • Double je vylepšený datový typ Single datového typu.
  • Může obsahovat až 14 desetinných míst.
  • Spotřebuje 8 bajtů systémové paměti.

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