VBA Double - Cum se declară tipul de date dublu în VBA?

Excel VBA dublu tip de date

VBA Double este un tip de tip de date pe care îl atribuim declarării variabilelor, care este o versiune îmbunătățită sau mai lungă a variabilei de tip de date „Single” și este de obicei utilizat pentru a stoca zecimale mai lungi.

Tipul de date întregi VBA convertește întotdeauna valorile zecimale la cea mai apropiată valoare întreagă. Tipul de date unic poate afișa până la două cifre de zecimale. Pe de altă parte, tipul de date „dublu” poate stoca valori de la -1.79769313486231E308 la -4.94065645841247E324 pentru valori negative și pentru numerele pozitive poate stoca valori de la 4.94065645841247E-324 la 1.79769313486232E308 .

Mai important, consumă 8 octeți de memorie.

Exemple de utilizare a tipului de date dublu VBA

Exemplul nr. 1

Înainte de a vedea exemplul tipului de date „Dublu”, să ne uităm la exemplele de coduri ale tipului de date „Întreg” și „Singur” în VBA. Uită-te la codul VBA de mai jos.

Cod:

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

Am declarat variabila „k” ca Număr întreg și pentru această variabilă am atribuit valoarea ca 2.569999947164.

Permiteți-ne să rulăm acest cod manual sau utilizând tasta de comandă rapidă excel F5, pentru a vedea valoarea finală în caseta de mesaje din VBA.

Rezultatul este afișat ca 3 în loc de numărul furnizat de 2.569999947164. Motivul pentru că este VBA a convertit numărul la cea mai apropiată valoare întreagă, adică 3.

Atunci când valoarea zecimală este mai mare de 0,5, atunci se va converti la următoarea valoare întreagă, iar când valoarea zecimală este mai mică de 0,51, atunci se va converti la valoarea sub numărul întreg.

Acum voi schimba tipul de date de la Integer la Single.

Cod:

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

Rulați codul prin tasta de comandă rapidă F5 și vedeți ce număr obținem de data aceasta.

De data aceasta am obținut rezultatul ca 2,57, deci de data aceasta am obținut două zecimale. Valoarea inițială pe care am atribuit-o a fost 2,569999947164, deci, în acest caz, a treia, valoarea zecimală plasată este 9, deci, deoarece aceasta este mai mare de 5, a convertit valoarea zecimală a doua poziție 6 la 7.

Acum schimbați tipul de date din Single în Double.

Cod:

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

Acum rulați manual codul și vedeți câte cifre obținem în rezultatul casetei de mesaje.

De data aceasta am obținut toate valorile zecimale. Putem furniza până la 14 cifre de zecimale sub tipul de date dublu.

Să presupunem că furnizați orice valoare mai mare de 14 poziții zecimale va fi convertită la cea mai apropiată valoare. De exemplu, uitați-vă la imaginea de mai jos.

Am tastat 15 zecimale în loc de 14. Dacă apăs tasta Enter, va reveni doar la 14 cifre.

În loc de 59 (ultimele două cifre), avem 6 adică, deoarece ultima cifră este 9, care este mai mare decât 5 numărul precedent 5 este convertit la următoarea valoare întreagă adică, 6

Exemplul nr. 2

Acum voi arăta cum să lucrez cu referința celulei într-o foaie de lucru. Mai jos sunt numerele pe care le-am introdus în foaia de lucru.

Să începem să capturăm aceleași valori până la următoarea folosind tipul de date INTEGER , tipul de date SINGLE și tip DOUBLE .

Mai jos este codul pentru a păstra valorile din coloana A până la B utilizând tipul de date INTEGER.

Cod:

Sub Double_Ex () Dim k Întreg Dim Celulă Valoare Întreg pentru k = 1 până la 6 Celulă Valoare = Celule (k, 1). Valoare Celule (k, 2). Valoare = Celulară Următorul k Finalizare Sub

Să rulăm codul prin tasta de comandă rapidă F5 pentru a vedea ce valori obținem în coloana B.

Când am folosit Integer ca tip de date, am obținut toate numerele întregi, adică fără zecimale.

Acum voi schimba tipul de date VBA al unei variabile de la întreg la Single.

Cod:

Sub Double_Ex () Dim k Întreg Dim Dim CellValue Singur pentru k = 1 până la 6 CellValue = Celule (k, 1). Valoare Celule (k, 2). Valoare = CellValue Următorul k End Sub

Acest cod va da rezultatul de mai jos.

De data aceasta am obținut doar două zecimale.

Acum schimbă tipul de date de la simplu la dublu.

Cod:

Sub Double_Ex () Dim k Întreg Dim Dim CellValue Ca Dublu pentru k = 1 până la 6 CellValue = Celule (k, 1). Valoare Celule (k, 2). Valoare = CellValue Următorul k End Sub

Aceasta va returna rezultatul de mai jos.

Avem valori exacte din coloana A.

Lucruri de amintit

  • Double este un tip de date îmbunătățit al tipului de date Single.
  • Poate conține până la 14 zecimale.
  • Consumă 8 octeți de memorie de sistem.

Articole interesante...