C# Eğitimleri – Veri Tipleri 7 – Float  Double & Decimal

C# Eğitimlerimize Double, Float ve Decimal veri tipi ile devam ediyoruz.

Bu 3 veri tipi C# ın ondalıklı sayı değer aralıklarını tutan değişken türleri olarak karşımıza çıkar. Reel sayıları elde edebildiğimiz değişkenler olup kullanım alanları digit hassasiyetine göre değişim gösterebilmektedir.

Float Tipi

.net’de Single sınıfını temsilen kullanılan veri tipi olup, bellekte 4 byte yer kaplar.

 

Float değişken tanımlaması ve değer ataması aşağıda gördüğümüz gibidir. Biraz öncede bahsetmiştik, float, Single sınıfın belirtecidir.

 

Bu tanımlamayı yaparken daha önce görmediğimiz bir durum var. Oda sayının sonuna yazılan f harfi.

Sebebi şudur;

Ondalık veri tiplerinin default değeri double’dır. Ve yazılan double türündeki değer direk olarak float türüne dönüştürülemez. Float olduğunu özellikle bildirmemiz gerekecektir sayısal ifadelerde.

Aşağıda da görüyoruz sonuna f yazmadığım ondalıklı sayıda bir hata işareti bulunmaktadır.

 

 

Double Tipi

Double ondalıklı sayı (kayan noktalı sayı ifadesini de görebilirsiniz) grubunun Default veri tipidir. Yani C# üzerinde hiç bir tanım gözetmeden yazılan ondalıklı bir sayı double sınıfına aitmiş gibi davranır.

Aşağıda görüldüğü gibi tanımlaması ve ilk değer ataması yapılabilir. Ondalıklı sayı yazarken Visual Studio ayracı nokta olarak kabul eder. Türkçe’den alışkanlık 15,5 yazsanız hata alırsınız.

 

Önemli Not: int türünde tanımlanmış bir değer, double türü ile işleme girerse tür otomatik olarak double türüne dönüştürülür ve işlem öyle gerçekleşir. Buna C# da değerin örtülü olarak tür dönüşümüne uğrayabildiği kavramıyla karşılaşabilirsiniz.

 

 

 

Eğer sonuç değişkenin türü int olsaydı bu işlem gerçekleşemeyecekti. Çünkü sağındaki işleme giren tüm değerler artık double dır. Sonuç olarak değeri örtülü olarak int türüne dönüştüremeyecektir.

 

 

Decimal Tipi

C# da decimal veri tipi ondalık sayılar için kullanılan veri tipleri içinde en fazla hassasiyete sahip olan veri tipidir.

Decimal sınıfının belirtecidir.

 

Daha çok, yüksek hassasiyete sahip muhasebe ve para işlerinde yada bilimsel araştırmalarda virgülden sonraki hassasiyetin çok önemli olduğu durumlarda kullanılan bir değişken türüdür.

Aynı şekilde float da bahsettiğimiz gibi bu değişken türünde işlem yapacağımız zaman girilen ondalıklı değerin sonuna onun decimal türüne ait olduğunu bildiren m yada M işareti koyulur.

 

Decimal tanımlamaları gördüğünüz şekilde yapılabilir.

 

 

Örneğin bir işlem içinde int ve decimal türünden değişkenlerimiz olsun bakalım sonucumuz nasıl çıkacak.

 

 

Herhangi bir hata almadığımızı görüyoruz. Bu işlem int türünün decimal türüne doğru giderken herhangi bir değer kaybına uğrama olasılığı olmadığı içinde kendi içinde dönüştürme işlemini yapabilir. Sonuç bize decimal türünde gelecektir.

Aynı durumda son değeri int bir değişkene atmaya çalışsaydık aşağıdaki hatayı alacaktık.

 

Bu dönüşümü bu şekilde yapamaz. Eğer kayıpları göze alabiliyorsak dönüşümü açık olarak bizim yapmamız gerekir.

 

Aynı durum double ve float türleri içinde geçerlidir. Kendi içinde tür dönüşümüne uğrayamazlar mutlaka kodlar içinde gerekli dönüşümler yaptırılmalıdır.

 

Son olarak Decimal tipinin hassasiyetini bir işlem sonucunda görelim.

 

 

 

Bir sonraki eğitim yazımda görüşmek üzere.

Facebook Sayfamizdan Bizleri Takip Edebilirsiniz
Murat Bilginer

Industryolog Akademi Founder – Endüstri Mühendisi
Canias ERP Troia Geliştiricisi & Yazılım Uzmanı
7 Yıldır bildiğini paylaşmak için çabalayan bir blogger.

http://muratbilginer.net/