Proměnná Double, proč ji NEpoužívat

VBA Kód

Proměnná Double se ve VBA používá k uchování číselné hodnoty. Hodnota v proměnné může nabývat poměrně velkému rozsahu čísel. Avšak zásadní nevýhoda je, že proměnná Double nemusí uložit číslo přesně tak, jak jsme ho do ní vložili. Například pokud bychom tuto proměnnou používali v při přepisování dat z buňky do buňky v cílové buňce mohou být jiné hodnoty než v buňce původní.

Proměnná Double:

Na obrázku ,,Double" je vidět odchylka od reálné hodnoty.

Proměnná Double
Double

Při běžných počtech takto malá odchylka vadit nemusí, avšak ve chvílí, kdy proměnnou používáme například k zastavení loopu, může dojít k nekonečnému zacyklení protože proměnná nikdy nenabude požadované hodnoty. Viz kód pod textem.

Příklad špatně použité proměnné:

Sub LoopTest()
Dim i As Double
i = 0
Do Until i = 1
i = i + 0.01
Debug.Print (i)
Loop
End Sub

Náhrada za proměnnou Double

Pro takové použití je mnohem vhodnější použít proměnnou Currency, která se běžně používá pro měnu. Lze ji využít i pro běžná čísla. Může uchovávat velmi rozsáhlá čísla a nabývá přesných hodnot.

Pozn.:Pokud proměnou Double používáte pouze pro uchování hodnoty a nepožíváte ji k logickým oparacím, případně ke složitým výpočtům, pak ji lze bez porblému použít.

Tip: Pod tímto odkazem najdete veškeré možné proměnné použitelné ve VBA. Včetně jejich velikosti a rozsahu.

Proměnná Currency
Currency

3 thoughts on “Proměnná Double, proč ji NEpoužívat”

  1. Does your site have a contact page? I’m having a tough time locating it but,
    I’d like to shoot you an e-mail. I’ve got some creative ideas for
    your blog you might be interested in hearing. Either way, great blog and I
    look forward to seeing it grow over time.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *