C# Decimal Veri Tipi



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.Desimal sınıfından türetilir. Kullanımı:

decimal cebimdekiPara;

Eğer cebinizde bozuk para yok ise decimal tipinde değişken
kullanabilirsiniz.

cebimdekiPara = 70;

E?er bozuk paranız da varsa, şu şekilde kullanmak isterseniz:

cebimdekiPara = 70.25; //Problem olabilir.

Karışıklığa mahal vermemek için sonuna M veya m eklemeniz gerekir.

cebimdekiPara = 70.25m; //Düzgün çalışacaktır

Aşağıdaki programı inceleyelim.

//--------------------------------------------------

//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.

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.

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.

int a = 25, b = 10;

decimal c = a/b; //sonuc 2 çykacaktyr.

Çü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.

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.

decimal x = 25.77m;

decimal y = .05m;

decimal sonuc = x * y; // sonuc 1.2885

decimal yuvarlanmis = decimal.Round(sonuc, 2); //yuvarlanmis = 1.29
olur.

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimleme seçenekleri hakkında daha fazla bilgi

CAPTCHA
Aşağıdaki resimde yer alan karakterleri kutucuğa doğru olarak yazınız
Image CAPTCHA
Enter the characters shown in the image.

Anket

Web sitesinde hangisi daha önemlidir:

Son Konular

2012-04-10 00:53 - Chrome Pili daha çabuk bitiriyor
2012-03-22 19:47 - Geliştirdiğin kodları satmak ister misin
2012-02-12 23:21 - SMF forumu vbulletin foruma aktarmak
2011-12-14 21:50 - Motorlu araçlar otomobil vergisi sorgulama
2011-12-14 21:47 - Sorgulamalar
2011-12-11 14:33 - Ben az önce ne arayacaktım
2011-09-10 22:51 - DSLR Fotograf Makinası sınıflandırması
2011-09-09 17:33 - ‘Crop Factor’ Nedir, hakkında bilgi
2011-09-09 17:30 - Fotograf Rehberi
2011-08-20 21:30 - Samsung LEDTV'lerde .SRF ve XFS süprizi
2011-08-19 00:45 - 2011 yılının web tasarım trendleri
2011-04-09 20:18 - Alan adları gerçek isim sahiplerine verilecek!
2011-01-13 01:43 - SEO İçin Dikkat Edilmesi Gereken Hususlar
2011-01-13 01:42 - Meta tag SEO Optimization
2011-01-13 01:41 - Google Adsense Hakkında Detaylı Bilgi
2011-01-13 01:40 - Soru Ve Cevaplar ile Google Adsense
2011-01-13 01:39 - Arama motoru Google ve Pagerank
2011-01-13 01:38 - Seo Sözlüğü
2011-01-13 01:37 - Google Arama Özellikleri
2011-01-13 01:36 - Adsense Reklam Yerleşimi
2011-01-13 01:35 - Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol
2011-01-13 01:34 - Sitenizin Google ve Web deki Yeri
2011-01-13 01:33 - Arama Motoru Bilgi ve İpuçları
2011-01-13 01:31 - Arama Motorları Teknikleri
2011-01-13 01:29 - Google Pagerank Detaylı Anlatım
2011-01-13 01:27 - Sitenize Ziyaretçiler En Çok Hangi Kelimeler İle Gelmiş
2011-01-13 01:25 - Pagerank Nedir?
2011-01-13 01:19 - Fireworks Shadow and Glow
2011-01-13 01:18 - Fireworks Sharpen
2011-01-13 01:16 - Fireworks Other
2011-01-13 01:13 - Fireworks Blur
2011-01-13 01:09 - Fireworks Bevel and Emboss
2011-01-13 01:05 - Fireworks Adjust Color
2011-01-13 01:03 - Fireworks Save as Style
2011-01-13 00:58 - Fireworks Text Menüsü
2011-01-13 00:54 - Fireworks Select Menüsü
2011-01-13 00:54 - Fireworks Modify Menüsü
2011-01-13 00:51 - Fireworks View Menüsü
2011-01-13 00:18 - Fireworks Edit Menüsü
2011-01-13 00:16 - Fireworks File Menüsü
2011-01-13 00:05 - İnternet - Web Tarayıcılar (Browser)
2011-01-13 00:04 - İnternet - Web Server Yazılımları
2011-01-13 00:03 - İnternet ve Web İlişkisi
2011-01-13 00:02 - İnternette Kullanılan Protokoller
2011-01-13 00:01 - İnternet - World Wide Web (WWW) Nedir?
2011-01-13 00:00 - İnternet - URL nedir?
2011-01-12 23:43 - İnternet Backorder Nedir?
2011-01-12 23:34 - İnternet - Virüs Nedir?
2011-01-12 23:32 - İnternet Paypal nedir? Nasıl Kullanılır?
2011-01-12 23:31 - İnternet - DNS Nedir?