VBA dvigubas | Kaip deklaruoti dvigubą duomenų tipą VBA?

„Excel VBA Double Data Type“

„VBA Double“ yra tam tikras duomenų tipas, kurį priskiriame deklaruojamiesiems kintamiesiems. Tai yra patobulinta arba ilgesnė „Single“ duomenų tipo kintamojo versija ir paprastai naudojama ilgesnėms dešimtainėms vietoms saugoti.

Duomenų tipas „VBA Integer“ visada konvertuoja dešimtaines reikšmes į artimiausią sveikojo skaičiaus vertę. Vieno tipo duomenys gali rodyti iki dviejų skaitmenų po kablelio. Kita vertus, „dvigubas“ duomenų tipas gali saugoti reikšmes nuo -1,79769313486231E308 iki -4,94065645841247E324 neigiamoms vertėms ir teigiamiems skaičiams - nuo 4,94065645841247E-324 iki 1,79769313486232E308 .

Dar svarbiau, kad ji sunaudoja 8 baitus atminties.

„VBA Double Data Type“ naudojimo pavyzdžiai

Šį „VBA Double Excel“ šabloną galite atsisiųsti čia - „VBA Double Excel“ šablonas

1 pavyzdys

Prieš pamatydami „Dvigubo“ tipo duomenų pavyzdį, pažiūrėkime į „Viskas“ ir „Vienkartinis“ duomenų tipų kodus VBA. Pažvelkite į žemiau esantį VBA kodą.

Kodas:

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

Aš paskelbiau kintamąjį „k“ kaip sveikąjį skaičių, o šiam kintamajam priskyriau vertę kaip 2,569999947164.

Paleiskime šį kodą rankiniu būdu arba naudodami „Excel“ spartųjį klavišą F5, kad pamatytume galutinę vertę VBA pranešimų laukelyje.

Rezultatas rodomas kaip 3 vietoj pateikto numerio 2.569999947164. Priežastis, nes yra VBA, pavertė skaičių artimiausia sveikojo skaičiaus verte, ty 3.

Kai dešimtainė reikšmė yra didesnė nei 0,5, ji bus konvertuota į kitą sveiko skaičiaus vertę, o kai dešimtainė reikšmė bus mažesnė nei 0,51, tada ji bus konvertuojama į mažesnę už sveiko skaičiaus vertę.

Dabar pakeisiu duomenų tipą iš Sveikasis į Vienvietis.

Kodas:

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

Paleiskite kodą naudodamiesi sparčiuoju klavišu F5 ir pažiūrėkite, kokį skaičių gausime šį kartą.

Šį kartą rezultatą gavome kaip 2,57, taigi šį kartą gavome du skaičius po kablelio. Pradinė vertė, kurią priskyrėme, buvo 2,569999947164, taigi šiuo atveju, trečia, padėta dešimtainė reikšmė yra 9, taigi, kadangi tai yra daugiau nei 5, antrosios vietos dešimtainė vertė buvo paversta 7 į 7.

Dabar pakeiskite duomenų tipą iš Single į Double.

Kodas:

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

Dabar paleiskite kodą rankiniu būdu ir sužinokite, kiek skaitmenų gauname pranešimų laukelio rezultate.

Šis laikas gavo visas dešimtaines reikšmes. Skiltyje „Dvigubi duomenys“ galime pateikti iki 14 skaitmenų po kablelio.

Jei pateiksite bet kurią vertę, didesnę nei 14 dešimtųjų, kablelis bus konvertuotas į artimiausią vertę. Pavyzdžiui, pažiūrėkite į žemiau esantį vaizdą.

Įvedžiau 15 dešimtųjų, o ne 14, po kablelio. Jei paspausiu „Enter“ klavišą, jis bus tik 14 skaitmenų.

Vietoj 59 (paskutiniai du skaitmenys), mes gavome 6, ty kadangi paskutinis skaitmuo yra 9, kuris yra didesnis nei 5, ankstesnis skaičius 5 konvertuojamas į kitą sveiko skaičiaus vertę, ty 6

2 pavyzdys

Dabar aš parodysiu, kaip dirbti su langelio nuoroda darbalapyje. Žemiau yra skaičiai, kuriuos įvedžiau į darbalapį.

Pradėkime tų pačių reikšmių fiksavimą kitam naudodami INTEGER duomenų tipą, SINGLE duomenų tipą ir DOUBLE tipą.

Žemiau yra kodas, skirtas išlaikyti vertes nuo A iki B stulpelių, naudojant INTEGER duomenų tipą.

Kodas:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Integer for k = 1–6 CellValue = Langeliai (k, 1). Vertės langeliai (k, 2). Vertė = CellValue Kitas k End Sub 

Paleiskime kodą naudodamiesi sparčiuoju klavišu F5, kad pamatytume, kokias vertes gauname B stulpelyje.

Kai duomenų tipą naudojome sveikuoju skaičiumi, mes gavome visus sveikus skaičius, ty be dešimtainių skaičių.

Dabar aš tiesiog pakeisiu kintamojo vba duomenų tipą iš sveiko skaičiaus į Single.

Kodas:

 Sub Double_Ex () Dim k kaip sveikasis dydis CellValue kaip vienas k = 1–6 CellValue = ląstelės (k, 1). Vertės langeliai (k, 2). Vertė = CellValue Kitas k End Sub 

Šis kodas suteiks žemiau pateiktą rezultatą.

Šį kartą gavome tik dvi dešimtaines dešimtaines dalis.

Dabar keičia duomenų tipą iš vieno į dvigubą.

Kodas:

 Sub Double_Ex () Dim k Integer Dim CellValue As Double for k = 1–6 CellValue = Langeliai (k, 1). Vertės langeliai (k, 2). Vertė = CellValue Kitas k Pabaiga Sub 

Tai pateiks žemiau pateiktą rezultatą.

Iš A stulpelio turime tikslius dydžius.

Ką reikia atsiminti

  • „Double“ yra patobulintas vieno tipo duomenų tipas.
  • Joje gali būti iki 14 skaitmenų po kablelio.
  • Tai sunaudoja 8 baitus sistemos atminties.

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