VBA CDEC - VBA'da CDEC İşlevi nasıl kullanılır? (Örnekler)

İçindekiler

VBA'da CDEC İşlevi

CDEC , VBA işlevi olarak kullanılabilen yerleşik bir veri türü dönüştürme işlevidir. VBA CDEC işlevi, bir veri türünü başka herhangi bir veri türünden ondalık veri türüne dönüştürür. "Ondalığa Dönüştür" anlamına gelir.

Bir veriyle çalıştığımızda ve kullanıcılardan değerleri girmelerini istediğimizde, bir kullanıcının bize değerler sağlayabileceği çok sayıda format olabilir, örneğin kullanıcının ondalık bir değer ve ondalık olmayan bir değer sağlayabileceği gibi, CDEC işlevi VBA, herhangi bir değeri ondalık değere dönüştürmemize yardımcı olur ve bu, excel'de yerleşik bir işlevdir.

Aşağıda CDEC işlevinin sözdizimi verilmiştir.

İfade: Bu, ondalık veri türüne dönüştürmeye çalıştığımız değerden başka bir şey değildir. Bu, doğrudan sayısal bir değer veya sayısal değeri tutan bir değişken olabilir.

  • Değerin ondalık veri türlerine nasıl dönüştürüleceğini görmeden önce, ondalık veri türü hakkında size ayrıntılı olarak bilgi vereyim.
  • Kullandığımız yaygın sayısal veri türleri "Uzun, Tamsayı ve Çift" dir. Uzun ondalık değerleri tutmak için "Ondalık" olarak özel bir veri türü yoktur. Uzun ve Tamsayı veri türleri, ondalık değer atanmış olsa bile sayıyı tam sayıya dönüştürür.
  • Dolayısıyla, değişkenlere ondalık değerleri depolamak için, değişkeni bir "Variant" veri türü olarak tanımlamamız gerekir. Daha sonra VBA CDEC işlevini kullanarak ondalık veri türüne dönüştürebiliriz.
  • 14 basamağa kadar ondalık değerleri saklamak için, “Double” veri türünü kullanabiliriz, ancak VBA CDEC dönüştürme işlevini kullanarak 28 ondalık basamağı saklayabiliriz.
  • Bellek kullanımı söz konusu olduğunda, CDEC sistem belleğinin 14 baytını tüketecek ve değişken veri türünü önceden "Değişken" olarak ilan ettiğimizden, değer her zaman sıfır olacaktır.

VBA CDEC İşlevini kullanma örnekleri

Yazının aşağıdaki bölümünde birkaç örnek göreceğiz.

Örneğin, aşağıdaki VBA koduna bakın.

Kod:

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

Yukarıda kodu çalıştırdığımızda VBA değişkenini “Tamsayı” olarak ilan etmiştik ve aşağıdaki gibi VBA'daki mesaj kutusundaki değeri alacağız.

2.5698979797646 sonucunun değerini 3 olarak atadığımızda , bunun nedeni değişkene atadığımız veri türünün "Tamsayı" olması, dolayısıyla sayıyı en yakın tam sayı değerine çevirmesidir .

Not: Ondalık değer> 0,5 ise, sonraki tam sayı değerine yuvarlanır ve ondalık değer <0,51 ise, tam sayı değerinin altına yuvarlanır.
  • Tamam, şimdi veri türü değerini ondalık sayıya dönüştürmek için CDEC işlevini atayayım.
  • Yukarıda görebileceğiniz gibi, VBA CDEC dönüştürme fonksiyonunu kullanarak "k" değişkenine değer atadım.
  • Kodu çalıştırın ve ne aldığımızı görün.
  • Şimdi bile, Tamsayı veri türü atandığı andan dolayı sonucu üç olarak aldık ve her zaman sayıyı bir sonraki tamsayı değerine yuvarlıyor.

Bu nedenle, önce “Ondalık” veri tipini atamak için, veri tipini “Değişken” olarak atamamız ve ardından CDEC fonksiyonunu kullanarak Decimal'e dönüştürmemiz gerekir.

Kod:

Sub CDEC_Example () Dim k Varyant olarak k = CDec (2.5698979797646) MsgBox k End Sub

Şimdi kodu yürütün ve ne alacağımızı görün.

Bu ondalık veri türünün bir başka özelliği de, yalnızca 14 ondalık basamağı tutabilen Double veri türünün aksine 14 basamaklı ondalık değeri depolayabilmemizdir.

Şimdi değişkene çift tırnak içinde 14 rakamdan fazla gireceğim.

Kod:

Alt CDEC_Example () Dim k Değişken Olarak k = CDec ("2.56989797976466769416958") MsgBox k Son Alt
Not: Numarayı çift tırnak işareti ile girin, çünkü 14 haneden sonra çift tırnak işareti olmadan yuvarlanmaya devam edecektir. Sayıları çift tırnak içinde girmek için.

Şimdi kodu çalıştırın ve ne alacağımızı görün.

Çift tırnak içine girdiğimiz tüm ondalık sayılara sahibiz.

Hatırlanacak şeyler

  • CDEC, "Ondalığa Dönüştür" anlamına gelir.
  • Yalnızca "Variant" veri türünü kabul eder.
  • "Ondalık" veri türü yoktur, ancak CDEC işlevini kullanarak kolayca ondalık veri türüne dönüştürebiliriz.
  • Özelliği, "28" basamaklı ondalık basamağı tutabilmesidir.

Ilginç makaleler...