IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 11 Temmuz 2012, 11:47   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
C# Decimal Veri Tipi




Bazı programlama dillerinde değişkenlerin kullanımı veri tiplerine bağlı olmayabilir. Basic dili böyle idi. Bazı dillerde ise türlerin tanımlanması ve doğru karar verilmiş olması gerekir. Bir türün diğer bir türe dönüştürülmesi bizzat programcı tarafından açık olarak yapılmalıdır. Bu yüzden, Basic programlama dilinde veri tipleri üzerindeki kontrollerin artması en önemli gelişmelerden birisi olmuştur.
Programcılarının değişkenler için veri tiplerini seçmesi gerekir. Tamsayı olmayan sayılar için C# programlama dili floating point ve decimal olmak üzere iki ayrı alternatif sunar. Decimal veri tipi diğer dillerde olmayan farklı bir veri tipidir.
Gerçek sayılar için decimal veya floating point türünde değişken kullanmamız gerekir. Bilimsel veya mühendislik uygulamaları için tanımlanacak değişkenler için floating point veri tipi kullanılır. Floating point veri tipi çok büyük ve çok küçük sayılar için kullanılır. Bazı durumlarda, floating point türü kullanıldığında çok küçük hatalı sonuçlar oluşabilir. Decimal veri tipi kesin sonuçlar verdiği için floating point kadar esnek değildir.
Decimal veri tipi, System.Decimal sınıfından türetilir. Kullanımı:
decimal cebimdekiPara;
Eğer cebinizde bozuk para yok ise decimal tipinde değişken kullanabilirsiniz.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cebimdekiPara 70

Eğer bozuk paranız da varsa, şu şekilde kullanmak isterseniz:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cebimdekiPara = 70.25; //Problem olabilir.

Karışıklığa mahal vermemek için sonuna M veya m eklemeniz gerekir.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
cebimdekiPara = 70.25m; //Düzgün çalışacaktır

Aşağıdaki programı inceleyelim.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
//-------------------------------------------------- //biletHesabi.cs //-------------------------------------------------- using System; class biletHesabi { static void Main() { const decimal yuksekFiyat = 12.50m, dusukFiyat = 8.25m; Console.Write(""Pahaly bilet fiyatını giriniz: ""); int pahaliBiletSayisi = Int32.Parse(Console.ReadLine()); Console.Write(""Ucuz bilet fiyatını giriniz: ""); int ucuzBiletSayisi = Int32.Parse(Console.ReadLine()); decimal toplamFiyat = pahaliBiletSayisi * yuksekFiyat + ucuzBiletSayisi * dusukFiyat; Console.WriteLine(""Toplam fiyat:"" + toplamFiyat + "" YTL""); } }

Gördüğünüz gibi, decimal sayıları ve tamsayıları aynı ifade içinde kullanabiliyoruz. C# herhangi bir tamsayı değişkeni decimal türüne çevirebilir. Decimal değerler ve tamsayı değerler arasındaki hesaplama sonucu decimal değerdir. Fakat C#, decimal tipleri tamsayı tipine dönüştürmez.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
decimal toplamPara = 54.25m; int para = toplamPara; //Derleme Hatası

C# derleyicisi bu şekildeki çevirmeyi önlemektedir. Decimal veri tipinden tamsayı veri tipine çevirmede kayıp oluşabilir.
casting işlemi yaparak decimal tipte bir sayıyı kayıplarla birlikte tamsayı türüne dönüştürmek mümkündür.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int para = (int)toplamPara;

Bir bilme işlemin sonucunun decimal olabilmesi için işlem yapılacak sayılardan en az birisinin decimal olması gerekir, ya da decimal türüne dönüştürülmesi gerekir.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int a = 25, b = 10; decimal c = a/b; //sonuc 2 çykacaktır.

Çünkü bir tamsayının diğer bir tamsayıya bölünmesi sonucu bölüm yine bir tamsayıdır. İşleme giren sayılardan birisini açık dönüştürme ile decimal sayıya dönüştürelim.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int a = 25, b = 10; decimal c = (decimal) a/b; //sonuc 2.

5 Çıkan sonucu yuvarlamak isteyebiliriz. Bunu da kaç basamak yuvarlayacağımızı belirterek yapabiliriz.
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
decimal x = 25.77m; decimal y = .05m; decimal sonuc = x * y; // sonuc 1.2885 decimal yuvarlanmis = decimal.Round(sonuc, 2); //yuvarlanmis = 1.29 olur.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
c#, data, decimal, tipi, type, veri


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Elma Tipi misiniz, Armut Tipi mi? Dilara Diyet ve Sağlıklı Beslenme 0 27 Temmuz 2010 19:03
Yazı Tipi Impulsiv mIRC Scripting Sorunları 11 21 Haziran 2008 21:19