VBA Double - Kako prijaviti dvojno vrsto podatkov v VBA?

Excel VBA Double Data Type

VBA Double je vrsta podatkovnega tipa, ki ga dodelimo za razglasitev spremenljivk, ki je izboljšana ali daljša različica spremenljivke podatkov "Single" in se običajno uporablja za shranjevanje daljših decimalnih mest.

Podatkovni tip VBA Integer vedno pretvori decimalne vrednosti v najbližjo celoštevilsko vrednost. Posamezen podatkovni tip lahko prikazuje do dve števki decimalnih mest. Po drugi strani lahko podatkovni tip »Double« shrani vrednosti od -1,79769313486231E308 do -4,94065645841247E324 za negativne vrednosti, pri pozitivnih številkah pa vrednosti od 4,94065645841247E-324 do 1,79769313486232E308 .

Še pomembneje je, da porabi 8 bajtov pomnilnika.

Primeri uporabe VBA Double Data Type

Primer # 1

Preden bomo videli primer podatkovnega tipa »Double«, si oglejmo primera kod »Integer« in »Single« podatkovnega tipa v VBA. Oglejte si spodnjo kodo VBA.

Koda:

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

Spremenljivko "k" sem razglasil za celo število, za to spremenljivko pa sem določil vrednost kot 2,569999947164.

Zaženimo to kodo ročno ali s pomočjo bližnjične tipke excel F5, da vidimo končno vrednost v polju za sporočila v VBA.

Rezultat je prikazan kot 3 namesto priložene številke 2,569999947164. Razlog, ker je VBA, je številko pretvoril v najbližjo celoštevilčno vrednost, tj. 3.

Ko je decimalna vrednost večja od 0,5, se bo pretvorila v naslednjo celoštevilčno vrednost, in ko je decimalna vrednost manjša od 0,51, se bo pretvorila v podštevilo.

Zdaj bom tip podatkov spremenil iz Integer v Single.

Koda:

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

Zaženite kodo s pomočjo bližnjične tipke F5 in si oglejte, katero številko dobimo tokrat.

Tokrat smo dobili rezultat kot 2,57, torej smo tokrat dobili dve decimalni mesti. Prvotna vrednost, ki smo jo dodelili, je bila 2,569999947164, tako da je v tem primeru, tretjič, postavljena decimalna vrednost 9, torej, ker je ta večja od 5, je pretvorila drugo decimalno vrednost 6 na 7.

Zdaj spremenite vrsto podatkov iz Single v Double.

Koda:

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

Zdaj zaženite kodo ročno in si oglejte, koliko števk dobimo v rezultatu polja za sporočila.

Tokrat je dobil vse decimalne vrednosti. Pod vrsto podatkov Double lahko damo do 14 števk decimalnih mest.

Recimo, da če vnesete katero koli vrednost, večjo od 14 decimalnih mest, bo pretvorjena v najbližjo vrednost. Na primer, poglejte spodnjo sliko.

Namesto 14. sem vtipkal 15 decimalnih mest. Če pritisnem tipko enter, bo vrnjena samo na 14 številk.

Namesto 59 (zadnji dve števki) smo dobili 6, tj. Ker je zadnja številka 9, kar je več kot 5, se prejšnja številka 5 pretvori v naslednjo celoštevilčno vrednost, tj. 6

2. primer

Zdaj bom na delovnem listu pokazal, kako delati s sklicem na celico. Spodaj so številke, ki sem jih vnesel v delovni list.

Začnimo z zajemom enakih vrednosti v naslednjo s podatkovnim tipom INTEGER, podatkovnim tipom ENO in DVOJNIM .

Spodaj je koda za ohranjanje vrednosti iz stolpcev A do B z uporabo podatkovnega tipa INTEGER.

Koda:

Sub Double_Ex () Dim k kot celo število Dim CellValue kot celo število Za k = 1 do 6 CellValue = Celice (k, 1). Celice vrednosti (k, 2) .Value = CellValue Naslednji k End Sub

Zaženimo kodo skozi bližnjično tipko F5, da vidimo, katere vrednosti dobimo v stolpcu B.

Ko smo uporabili celo število kot podatkovni tip, smo dobili vsa cela števila, torej brez decimalnih mest.

Zdaj bom samo spremenil podatkovni tip VBA spremenljivke s celo število na Single.

Koda:

Sub Double_Ex () Dim k kot celo število Dim CellValue kot posamezno Za k = 1 do 6 CellValue = Celice (k, 1). Celice vrednosti (k, 2) .Value = CellValue Naslednji k End Sub

Ta koda bo dala spodnji rezultat.

Tokrat smo dobili le dve decimalni mesti.

Zdaj spremeni podatkovni tip iz enojnega v dvojnega.

Koda:

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

To bo vrnilo spodnji rezultat.

Natančne vrednosti imamo iz stolpca A.

Stvari, ki si jih je treba zapomniti

  • Double je izboljšani podatkovni tip Single data type.
  • Vsebuje lahko do 14 decimalnih mest.
  • Porabi 8 bajtov sistemskega pomnilnika.

Zanimive Članki...