Onluk Veri Türü (Visual Basic)
10 değişken gücüyle ölçeklendirilmiş 96 bit (12 bayt) tamsayı sayılarını temsil eden imzalı 128 bit (16 bayt) değerleri tutar. Ölçeklendirme faktörü, ondalık noktasının sağındaki basamak sayısını belirtir; 0 ile 28 arasında değişir. 0 ölçeğiyle (ondalık basamak yok), mümkün olan en büyük değer +/-79.228.162.514.264.337.593,5'tir 43.950.335 (+/-7.9228162514264337593543950335E+28). 28 ondalık basamakla en büyük değer +/-7,9228162514264337593543950335'tir ve sıfır olmayan en küçük değer +/-0,000000000000000000000000000001 (+/-1E-28) olur.
Açıklamalar
Veri Decimal
türü, bir sayı için en fazla sayıda anlamlı basamak sağlar. En fazla 29 anlamlı basamağı destekler ve 7,9228 x 10^28'i aşan değerleri temsil edebilir. Özellikle çok sayıda basamak gerektiren ancak yuvarlama hatalarını tolere edemeyen finansal hesaplamalar için uygundur.
varsayılan değeri Decimal
0'dır.
Programlama İpuçları
Kesinlik.
Decimal
kayan nokta veri türü değildir. YapıDecimal
, bir ikili tamsayı değerinin yanında bir işaret biti ve değerin hangi bölümünün ondalık kesir olduğunu belirten bir tamsayı ölçeklendirme faktörü içerir. Bu nedenle,Decimal
sayıların bellekte kayan nokta türlerine (Single
veDouble
) göre daha kesin bir gösterimi vardır.Performans. Veri
Decimal
türü, tüm sayısal türlerin en yavaşıdır. Bir veri türü seçmeden önce duyarlık önemini performansa göre tartmalısınız.Genişletme.
Decimal
Veri türü veyaDouble
olarakSingle
genişler. Bu, hatayla System.OverflowException karşılaşmadan bu türlerden herhangi birini dönüştürebileceğinizDecimal
anlamına gelir.Sondaki Sıfırlar. Visual Basic, sondaki sıfırları değişmez değerde
Decimal
depolamaz. Ancak, birDecimal
değişken hesaplama yoluyla alınan sondaki sıfırları korur. Aşağıdaki örnek bunu göstermektedir.Dim d1, d2, d3, d4 As Decimal d1 = 2.375D d2 = 1.625D d3 = d1 + d2 d4 = 4.000D MsgBox("d1 = " & CStr(d1) & ", d2 = " & CStr(d2) & ", d3 = " & CStr(d3) & ", d4 = " & CStr(d4))
Yukarıdaki örnekteki çıktısı
MsgBox
aşağıdaki gibidir:d1 = 2.375, d2 = 1.625, d3 = 4.000, d4 = 4
Karakter yazın. Değişmez değer türü karakterinin
D
değişmez değere eklenmesi, bunu veri türüneDecimal
zorlar. Tanımlayıcı türü karakterinin@
herhangi bir tanımlayıcıya eklenmesi bunu olarakDecimal
zorlar.Çerçeve Türü. .NET Framework'te karşılık gelen tür yapısıdır System.Decimal .
Aralık
Bir değişkene veya sabite büyük bir değer Decimal
atamak için tür karakterini kullanmanız D
gerekebilir. Bu gereksinim, derleyicinin değişmez değeri, aşağıdaki örnekte gösterildiği gibi değişmez değer türü karakterini takip etmediği sürece olarak Long
yorumlamasıdır.
Dim bigDec1 As Decimal = 9223372036854775807 ' No overflow.
Dim bigDec2 As Decimal = 9223372036854775808 ' Overflow.
Dim bigDec3 As Decimal = 9223372036854775808D ' No overflow.
için bildirimi bigDec1
, kendisine atanan değer için Long
aralığın içinde olduğundan taşma üretmez. Long
Değer değişkenine Decimal
atanabilir.
için bildirimi bigDec2
, kendisine atanan değer için Long
çok büyük olduğundan taşma hatası oluşturur. Sayısal değişmez değer ilk olarak olarak Long
yorumlanamadığından değişkenine Decimal
atanamaz.
için bigDec3
değişmez değer türü karakteri D
, derleyiciyi değişmez değeri yerine olarak Decimal
Long
yorumlamaya zorlayarak sorunu çözer.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin