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.

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

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

Napsat komentář

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