VBA Double - VBA'da Çift Veri Türü Nasıl Bildirilir?

Excel VBA Çift Veri Türü

VBA Double , "Tek" veri türü değişkeninin geliştirilmiş veya daha uzun bir versiyonu olan ve genellikle daha uzun ondalık basamakları saklamak için kullanılan değişkenleri bildirmek için atadığımız bir tür veri türüdür.

VBA Tamsayı veri türü her zaman ondalık değerleri en yakın tam sayı değerine dönüştürür. Tek veri türü, en fazla iki basamaklı ondalık basamak gösterebilir. Öte yandan, "Çift" veri türü negatif değerler için -1.79769313486231E308 ile -4.94065645841247E324 arasındaki değerleri, pozitif sayılar için ise 4.94065645841247E-324 ile 1.79769313486232E308 arasındaki değerleri depolayabilir .

Daha da önemlisi, 8 bayt bellek tüketir.

VBA Double Data Type kullanma örnekleri

Örnek 1

“Double” veri türü örneğini görmeden önce, VBA'daki “Tamsayı” ve “Tek” veri türü örnek kodlarına bakalım. Aşağıdaki VBA koduna bakın.

Kod:

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

"K" değişkenini Tamsayı olarak tanımladım ve bu değişken için değeri 2.569999947164 olarak belirledim.

VBA'daki mesaj kutusunda son değeri görmek için bu kodu manuel olarak veya excel kısayol tuşu F5'i kullanarak çalıştıralım.

Sonuç, sağlanan 2,569999947164 numarası yerine 3 olarak gösteriliyor. Bunun nedeni, VBA'nın sayıyı en yakın tam sayı değerine, yani 3'e dönüştürmüş olmasıdır.

Ondalık değer 0,5'ten büyük olduğunda, bir sonraki tamsayı değerine, ondalık değer 0,51'den küçük olduğunda, tamsayı değerinin altına dönüşecektir.

Şimdi veri türünü Tamsayı'dan Tek'e değiştireceğim.

Kod:

Alt Tamsayı_Ex () Dim k As Single k = 2.569999947164 MsgBox k End Sub

Kodu kısayol tuşu F5 ile çalıştırın ve bu sefer hangi numarayı aldığımızı görün.

Bu sefer sonucu 2.57 olarak aldık, yani bu sefer iki ondalık basamak elde ettik. Atadığımız orijinal değer 2.569999947164 idi, bu durumda üçüncü olarak yerleştirilen ondalık değer 9'dur, bu nedenle bu 5'ten fazla olduğu için ikinci basamak ondalık değeri 6'yı 7'ye dönüştürdü.

Şimdi veri türünü Single'dan Double'a değiştirin.

Kod:

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

Şimdi kodu manuel olarak çalıştırın ve mesaj kutusu sonucunda kaç basamak aldığımızı görün.

Bu sefer tüm ondalık değerleri aldı. Double veri tipi altında 14 haneye kadar ondalık basamak sağlayabiliriz.

14 ondalık basamaktan daha büyük herhangi bir değer sağladığınızı varsayalım, en yakın değere dönüştürülecektir. Örneğin, aşağıdaki resme bakın.

14 yerine 15 ondalık basamak yazdım. Enter tuşuna bastığımda sadece 14 haneye dönecek.

59 (son iki hane) yerine 6 elde ettik, yani son rakam 9 olduğu için, önceki 5 sayısından büyük olan 5 bir sonraki tamsayı değerine, yani 6'ya dönüştürülür.

Örnek 2

Şimdi bir çalışma sayfasında hücre referansı ile nasıl çalışılacağını göstereceğim. Çalışma sayfasına girdiğim numaralar aşağıdadır.

INTEGER veri tipi, SINGLE veri tipi ve DOUBLE tipini kullanarak aynı değerleri yakalamaya başlayalım .

Aşağıda, INTEGER veri türünü kullanarak A sütunundan B sütununa değerleri tutmaya yönelik kod bulunmaktadır.

Kod:

Sub Double_Ex () Dim k As Integer Dim CellValue As Integer For k = 1 to 6 CellValue = Cells (k, 1). Value Cells (k, 2) .Value = CellValue Next k End Sub

B sütununda hangi değerleri aldığımızı görmek için kodu F5 kısayol tuşuyla çalıştıralım.

Veri türü olarak Tamsayı kullandığımızda, tüm tam sayıları aldık, yani ondalıksız.

Şimdi bir değişkenin VBA veri türünü tam sayıdan Tek'e değiştireceğim.

Kod:

Sub Double_Ex () Dim k As Integer Dim CellValue As Single For k = 1 ila 6 CellValue = Hücreler (k, 1) .Değer Hücreleri (k, 2) .Değer = CellValue Next k End Sub

Bu kod aşağıdaki sonucu verecektir.

Bu sefer sadece iki ondalık basamağımız var.

Şimdi veri türünü single'dan double'a değiştiriyor.

Kod:

Sub Double_Ex () Dim k As Integer Dim CellValue As Double For k = 1 to 6 CellValue = Hücreler (k, 1) .Değer Hücreleri (k, 2) .Değer = CellValue Next k End Sub

Bu, aşağıdaki sonucu döndürecektir.

A sütunundan kesin değerler aldık.

Hatırlanacak şeyler

  • Double, Tek veri türünün geliştirilmiş bir veri türüdür.
  • 14 ondalık basamağa kadar tutabilir.
  • 8 bayt sistem belleği tüketir.

Ilginç makaleler...