VBA Double | Paano Maipahayag ang Dobleng Uri ng Data sa VBA?

Excel VBA Double Data Type

VBA Double ay isang uri ng uri ng data na itinatalaga namin upang magdeklara ng mga variable, na isang pinahusay o mas mahabang bersyon ng variable na "Single" na uri ng data at karaniwang ginagamit upang mag-imbak ng mas mahahabang lugar na decimal.

Ang uri ng data ng VBA Integer ay palaging nagko-convert ng mga halaga ng decimal sa pinakamalapit na halaga ng integer, ang solong uri ng data ay maaaring magpakita ng hanggang sa dalawang digit ng decimal na lugar. Sa kabilang banda ang uri ng data na "Dobleng" ay maaaring mag-imbak ng mga halaga mula sa -1.79769313486231E308 hanggang -4.94065645841247E324 para sa mga negatibong halaga at para sa mga positibong numero maaari itong mag-imbak ng mga halaga mula sa 4.94065645841247E-324 hanggang 1.79769313486232E308.

Mas mahalaga, kumonsumo ito ng 8 bytes ng memorya.

Mga halimbawa upang magamit ang VBA Double Data Type

Maaari mong i-download ang VBA Double Excel Template dito - VBA Double Excel Template

Halimbawa # 1

Bago natin makita ang halimbawa ng uri ng data na "Dobleng" tingnan natin ang mga halimbawang code ng "Integer" at "Single" na uri ng data sa VBA. Tingnan ang sa ibaba ng VBA code.

Code:

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

Inihayag ko ang variable na "k" bilang Integer at para sa variable na ito, naitalaga ko ang halaga bilang 2.569999947164.

Manu-manong patakbuhin namin ang code na ito o gamitin ang excel shortcut key F5, upang makita ang pangwakas na halaga sa kahon ng mensahe sa VBA.

Ang resulta ay ipinapakita bilang 3 sa halip na ang ibinigay na bilang ng 2.569999947164. Ang dahilan dahil ang VBA ay na-convert ang numero sa pinakamalapit na halaga ng integer hal. 3.

Kapag ang decimal na halaga ay higit sa 0.5 pagkatapos ito ay mag-convert sa susunod na halaga ng integer at kapag ang decimal na halaga ay mas mababa sa 0.51 pagkatapos ay i-convert sa ibaba integer halaga.

Ngayon ay babaguhin ko ang uri ng data mula sa Integer patungong Single.

Code:

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

Patakbuhin ang code sa pamamagitan ng shortcut key F5, at tingnan kung anong numero ang makukuha natin sa oras na ito.

Sa oras na ito nakuha namin ang resulta bilang 2.57, kaya sa oras na ito nakuha namin ang dalawang decimal na lugar. Ang orihinal na halagang itinalaga namin ay 2.569999947164, kaya sa kasong ito, pangatlo, ang inilagay na halagang decimal ay 9, kaya't dahil higit sa 5 na-convert nito ang pangalawang lugar na decimal na halaga na 6 hanggang 7.

Ngayon baguhin ang uri ng data mula sa Single hanggang Dobleng.

Code:

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

Manu-manong patakbuhin ang code at tingnan kung gaano karaming mga digit ang nakukuha namin sa resulta ng kahon ng mensahe.

Sa oras na ito nakuha ang lahat ng mga decimal na halaga. Maaari kaming magbigay ng hanggang sa 14 na digit ng mga desimal na lugar sa ilalim ng Dobleng uri ng data.

Kung magbibigay ka ng anumang halagang higit sa 14 na posisyon ng decimal ay mai-convert sa pinakamalapit na halaga. Para sa isang halimbawa tingnan ang larawan sa ibaba.

Nag-type ako ng 15 decimal na lugar sa halip na 14, kung na-hit ko ang enter key ay babalik ito sa 14 na digit lamang.

Sa halip na 59 (huling dalawang digit), nakakuha kami ng 6 ibig sabihin dahil ang huling digit ay 9 na mas malaki sa 5 nakaraang numero 5 ay na-convert sa susunod na halaga ng integer ibig sabihin 6

Halimbawa # 2

Ipapakita ko ngayon kung paano magtrabaho kasama ang sanggunian ng cell sa isang worksheet. Nasa ibaba ang mga numero na ipinasok ko sa worksheet.

Simulan natin ang pagkuha ng parehong mga halaga sa susunod sa pamamagitan ng paggamit INTEGER uri ng datos, SINGLE uri ng data, at Doble uri

Nasa ibaba ang code upang mapanatili ang mga halaga mula sa haligi A hanggang B sa pamamagitan ng paggamit ng uri ng data ng INTEGER.

Code:

 Sub Double_Ex () Dim k Bilang Integer Dim CellValue Bilang Integer Para sa k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Susunod k End Sub 

Patakbuhin natin ang code sa pamamagitan ng key shortcut F5, upang makita kung anong mga halaga ang makukuha natin sa haligi B.

Kapag ginamit namin ang Integer bilang uri ng data nakuha namin ang lahat ng buong mga numero ibig sabihin nang walang mga decimal.

Ngayon ay babaguhin ko lang ang uri ng data ng vba ng isang variable mula sa integer patungong Single.

Code:

 Sub Double_Ex () Dim k Bilang Integer Dim CellValue Bilang Single Para sa k = 1 To 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Susunod k End Sub 

Ibibigay ng code na ito ang resulta sa ibaba.

Sa pagkakataong ito nakakuha lamang kami ng dalawang decimal na lugar.

Binabago ngayon ang uri ng data mula sa solong hanggang sa doble.

Code:

 Sub Double_Ex () Dim k Bilang Integer Dim CellValue Bilang Doble Para sa k = 1 hanggang 6 CellValue = Mga Cell (k, 1). Mga Value ng Cell (k, 2). Value = CellValue Susunod k End Sub 

Ibabalik nito ang resulta sa ibaba.

Nakakuha kami ng eksaktong mga halaga mula sa haligi A

Bagay na dapat alalahanin

  • Ang doble ay isang pinahusay na uri ng data ng solong uri ng data.
  • Maaari itong humawak ng hanggang sa 14 decimal na lugar.
  • Naubos nito ang 8 bytes ng memorya ng system.