C# ile Decimal Veri Tipi Kullanımı

Loading

C# dilinde çeşitli veri türleri vardır, ancak virgülden sonra rakamları olan sayılarla çalışıyorsanız ve özellikle küsuratlı fiyatların çok olduğu finansal projelerde çalışıyorsanız Decimal tipini iyi anlamamız gerekmektedir.

Veri tabanınıza özellikle ondalıklı sayıları sağlıklı bir şekilde kaydetmek için kullanılan bir veri türüdür. Bu nedenle, hataların ortaya çıkmasını istemediğiniz finansal ve parasal hesaplamalar için idealdir.

 C# ta ondalıklı sayıların varsayılan değeri double‘dır. Eğer Ondalıklı ve Decimal tipli bir değer tanımlamak istediğimizde sayının sonuna M veya m harfini koyarak değerin decimal tipli değişkeni olduğunu belirtmemiz gerekmektedir. Ama tam sayı kullanacaksak sonuna M yada m harfini yazmamıza gerek yoktur.

Yukarıdaki örnek kodda, ondalık bir değişken olan tutar ‘ a bir değer atandı ve devamındaki ‘m’ çok önemli C# ‘ ta bu ifade ondalık bir değişmez değer olduğunu belirtir.

Decimal çok büyük bir aralıklı ve 28-29 basamağa kadar sayı tutabilir ve 16 bayt yer kaplar. Float 4 bayt , Double 8 bayt yer kaplar.

Bu kod satırından sonra ‘tutar’ 400.23 değerini saklayacak.

Ondalık sayılar Bankacılık, finans ve Veri Analizi gibi projelerde kullanımı uygundur.

Mesela : Bir banka kar payı yada faizini hesapladığınızı varsayalım; sizin sayısal somut kesin bir veriye ihtiyacınız olacaktır ve bu sizi kendinizden emin kılacaktır. 29 ondalık basamağa kadar olan oranlar ve tutar hesaplamalarını doğru bir şekilde gerçekleştirebilir.

kodda Math.Pow() decimal ı desteklemediği için Casting yaptım.

Önemli bir detay da diller yada bölge farklılığında pc de farklı dil, server da farklı dil kullanırken tam sayıları kesirli değerlerden ayırmak için farklı karakterler kullanabilir. Örneğin, bazı bölgelerde ondalık ayırıcı olarak ondalık nokta (.) yerine virgül (,) kullanılır. Bu ayara, Saat ve Bölge ayarlarından ulaşabilirisiniz. Gördüğünüz gibi dili Türkçe olan pc de virgül (,) olan decimal olan pc de nokta (.) olarak ayarlıdır.

Mesela server da bu olay nokta (.) ve kod geliştirmesi yaptığınız yerde virgül (,) olabilir ve siz hesaplamalarınızı Decimal ondalık tanımlayıp öyle hesaplamalar yaptıysanız localde bu hesaplamalar doğru olurken Server de yanlış olacaktır. Böyle bir durumda ortamların aynı dil ve aynı bölge olmasına dikkat edilmelidir.

Decimal i Formatlama

Decimal ondalık bir sayıyı da aşağıdaki gibi formatlı ve istenen bir şekilde gösterilebilir ve . dan sonra istediğiniz basamakta 0 yazarak sayı alabilirisniz

Not: Büyük ve ondalıklı sayılarla çalışırken hassas hesaplamalı işlerde float yada double tiplerdeki hesaplamalar da hatalı sonuç almanıza neden olabilir.

Olumsuz yönü : Decimal ondalıklı ve hassas hesaplamalar için ayarlanmış olsa da, daha fazla kaynak tüketir ve Bellekte daha fazla yer kaplar ve ondalık sayılardaki işlemler daha yavaştır

Detayları bilmek ve yerli yerince kullanmak iyi bir programcı olma yolunda farkındalığınız olacaktır.

Sağlıcakla kalın..

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Mesut Yiğit

Kaliteli bilgilerin bulunduğu, paylaşımcı ve her daim geliştirici bir öğrenimin benimsendiği Teknik ve diğer konularda kendime ve geleceğe notlar