Aracılığıyla paylaş


ondalık (C# Reference)

decimal Anahtar sözcüğünü bir 128-bit veri türünü gösterir.Kayan nokta türü için karşılaştırıldığında decimal türünde daha fazla kesinlik ve daha küçük bir aralığı, mali ve parasal hesaplamaları için uygun hale getirir.Yaklaşık aralık ve duyarlık için decimal türü aşağıdaki tabloda gösterilmiştir.

Tür

Yaklaşık aralık

Precision

.NET Framework türü

decimal

(-7.9 x 1028 to 7.9 x 1028) / (100 to 28)

28-29 anlamlı basamaklar

System.Decimal

Hazır bilgi

Kabul sayısal gerçek hazır bilgi istediğiniz decimal, sonek m veya m, örneğin kullanın:

decimal myMoney = 300.5m;

M soneki sayı kabul bir çift ve bir derleyici hatası oluşturur.

Dönüşümleri

Tamsayı türü örtülü olarak dönüştürülür decimal ve sonuç veren decimal.Bu nedenle değişken ondalık tamsayı soneki olmadıkça değişmez değer aşağıdaki gibi kullanarak başlatabilirsiniz:

decimal myMoney = 300;

Kayan nokta türü arasında örtülü dönüşüm olmadığından yoktur ve decimal yazın; Bu nedenle, bu iki tür arasında dönüştürmek için bir dönüştürme işlemi kullanılmalıdır.Örne?in:

decimal myMoney = 99.9m;
double x = (double)myMoney;
myMoney = (decimal)x;

Ayrıca karıştırmak decimal ve aynı ifadede integral sayısal türler.Ancak, karıştırma decimal ve kayan nokta türü bir dönüştürme olmadan bir derleme hatası neden olur.

Örtülü sayısal dönüştürme hakkında daha fazla bilgi için bkz: Kesin sayısal dönüştürme tablosu (C# Reference).

Kesin sayısal dönüştürme hakkında daha fazla bilgi için bkz: Kesin sayısal dönüştürme tablosu (C# Reference).

Ondalık çıkış biçimlendirme

Sonuçları kullanarak biçimlendirebilirsiniz String.Format yöntemini veya aracılığıyla Console.Write yöntemini çağırır, String.Format().Bu makalenin sonraki bölümlerinde İkinci örnekte gösterildiği gibi standart para birimi biçim dizesi "c" veya "c" kullanarak para birimi biçimi belirtildi.String.Format yöntemi hakkında daha fazla bilgi için, bkz. String.Format.

Örnek

Bu örnekte, bir decimal ve bir int aynı ifadede karıştırılır.Sonuç veren decimal türü.

Aşağıdaki örnek eklemeye çalışıyor bir derleyici hatasına neden oluyor çift ve decimal değişkenleri.

double dub = 9;
// The following line causes an error that reads "Operator '+' cannot be applied to 
// operands of type 'double' and 'decimal'"
Console.WriteLine(dec + dub); 

// You can fix the error by using explicit casting of either operand.
Console.WriteLine(dec + (decimal)dub);
Console.WriteLine((double)dec + dub);

Hata sonucu:

Operator '+' cannot be applied to operands of type 'double' and 'decimal'

public class TestDecimal
{
    static void Main()
    {
        decimal d = 9.1m;
        int y = 3;
        Console.WriteLine(d + y);   // Result converted to decimal
    }
}
// Output: 12.1

Bu örnekte, çıktı para birimi biçim dizesi kullanılarak biçimlendirilir.Dikkat x $0.99 ondalık basamak aştığından yuvarlanır.Değişken y, en fazla tam sayıları temsil eden tam olarak doğru biçimde görüntülenir.

public class TestDecimalFormat
{
    static void Main()
    {
        decimal x = 0.999m;
        decimal y = 9999999999999999999999999999m;
        Console.WriteLine("My amount = {0:C}", x);
        Console.WriteLine("Your amount = {0:C}", y);
    }
}
/* Output:
    My amount = $1.00
    Your amount = $9,999,999,999,999,999,999,999,999,999.00
*/

C# dil belirtimi

Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.

Ayrıca bkz.

Başvuru

C# anahtar sözcükler

Tam sayı türleri tablosu (C# Reference)

Yerleşik türleri tablosu (C# Reference)

Kesin sayısal dönüştürme tablosu (C# Reference)

Kesin sayısal dönüştürme tablosu (C# Reference)

Decimal

Kavramlar

C# Programlama Kılavuzu

Standart sayısal biçim dizeleri

Diğer Kaynaklar

C# Başvurusu