VBA CDEC - Jak korzystać z funkcji CDEC w VBA? (Przykłady)

Spisie treści

Funkcja CDEC w VBA

CDEC to wbudowana funkcja konwersji typu danych dostępna jako funkcja VBA. Funkcja VBA CDEC konwertuje typ danych z dowolnego innego typu danych na dziesiętny typ danych. To oznacza „Convert to Decimal”.

Kiedy pracujemy z danymi i prosimy użytkowników o wprowadzenie wartości, może istnieć wiele formatów, w których użytkownik może podać nam wartości, na przykład użytkownik może podać wartości dziesiętne i niedecymalne, funkcja CDEC w VBA pomaga nam przekonwertować dowolną wartość na wartość dziesiętną i jest wbudowaną funkcją programu Excel.

Poniżej znajduje się składnia funkcji CDEC.

Wyrażenie: to nic innego jak wartość, którą próbujemy przekonwertować na typ danych dziesiętnych. Może to być bezpośrednia wartość liczbowa lub zmienna przechowująca wartość liczbową.

  • Zanim zobaczymy, jak przekonwertować wartość na dziesiętne typy danych, pozwól mi szczegółowo przedstawić dziesiętne typy danych.
  • Typowe numeryczne typy danych, których używamy, to „długie, całkowite i podwójne”. Nie ma specjalnego typu danych, jak „Dziesiętny” do przechowywania długich wartości dziesiętnych. Typy danych Long & Integer konwertują liczbę na liczbę całkowitą, mimo że przypisana jest do nich wartość dziesiętna.
  • Tak więc, aby zachować wartości dziesiętne w zmiennych, musimy zadeklarować zmienną jako typ danych „Wariant”. Następnie za pomocą funkcji VBA CDEC możemy dokonać konwersji na typ danych dziesiętnych.
  • Aby przechowywać wartości dziesiętne do 14 cyfr, możemy użyć typu danych „Double”, ale używając funkcji konwersji VBA CDEC, możemy zapisać 28 miejsc dziesiętnych.
  • Jeśli chodzi o zajęcie pamięci, CDEC zużyje 14 bajtów pamięci systemowej, a ponieważ z góry deklarujemy zmienny typ danych jako „Variant”, wartością zawsze będzie zero.

Przykłady użycia funkcji VBA CDEC

Kilka przykładów zobaczymy w poniższej sekcji artykułu.

Na przykład spójrz na poniższy kod VBA.

Kod:

Sub CDEC_Example () Dim k As Integer k = 2.5698979797646 MsgBox k End Sub

W powyższym przykładzie zadeklarowaliśmy zmienną VBA jako „Integer”, gdy uruchomimy kod, a otrzymamy wartość w oknie komunikatu w VBA, jak poniżej.

Kiedy przypisaliśmy wartość 2,5698979797646 wyników równą 3, dzieje się tak, ponieważ typ danych, który przypisaliśmy do zmiennej to „Integer”, więc przekonwertuje liczbę na najbliższą wartość całkowitą.

Uwaga: Jeśli wartość dziesiętna jest> 0,5, zaokrągli się w górę do następnej wartości całkowitej, a jeśli wartość dziesiętna wynosi <0,51, zaokrągli w dół do wartości poniżej wartości całkowitej.
  • Ok, teraz pozwól mi przypisać funkcję CDEC, aby przekonwertować wartość typu danych na dziesiętną.
  • Jak widać powyżej, przypisałem wartość zmiennej „k” za pomocą funkcji konwersji VBA CDEC.
  • Wykonaj kod i zobacz, co otrzymamy.
  • Nawet teraz otrzymaliśmy wynik jako trzy ze względu na moment przypisania typu danych Integer i zawsze zaokrągla liczbę do następnej wartości całkowitej.

Tak więc, aby najpierw przypisać typ danych „Decimal”, musimy przypisać typ danych jako „Variant”, a następnie przekonwertować go na Decimal za pomocą funkcji CDEC.

Kod:

Sub CDEC_Example () Dim k As Variant k = CDec (2.5698979797646) MsgBox k End Sub

Teraz wykonaj kod i zobacz, co otrzymamy.

Jeszcze jedna specjalność tego typu danych dziesiętnych polega na tym, że możemy przechowywać więcej niż 14 cyfr dziesiętnych, w przeciwieństwie do typu danych Double, który może zawierać tylko 14 miejsc dziesiętnych.

Teraz wprowadzę więcej niż 14 cyfr do zmiennej w cudzysłowach.

Kod:

Sub CDEC_Example () Dim k As Variant k = CDec ("2.56989797976466769416958") MsgBox k End Sub
Uwaga: wprowadź liczbę w cudzysłowie, ponieważ bez cudzysłowów po 14 cyfrach będzie się ona zaokrąglała. Aby wprowadzić liczby w cudzysłowach.

Teraz uruchom kod i zobacz, co otrzymamy.

Mamy wszystkie liczby dziesiętne, które wpisaliśmy w cudzysłowach.

Rzeczy do zapamiętania

  • CDEC oznacza „Convert to Decimal”.
  • Akceptuje tylko dane typu „Variant”.
  • Nie ma typu danych „Decimal”, ale za pomocą funkcji CDEC możemy łatwo przekonwertować na typ dziesiętny.
  • Specjalność polega na tym, że może przechowywać „28” miejsc po przecinku.

Interesujące artykuły...