1. Ana Sayfa
  2. Nesne Tabanlı Programlama

C# Örnekleri – Sayıyı Yazıya Çevirme

C# Örnekleri – Sayıyı Yazıya Çevirme
6

Daha önce 5 basamaklı sayıyı yazıya çevirme ve 4 basamaklı sayıyı yazıya çevirme örneklerini paylaşmıştık ama girilen değer 6 veya daha yukarı olduğu zaman bu okuma işlemini nasıl yapacağız şimdi bu konu ile alakalı örneği paylaşalım ilk olarak aşağıdaki form tasarımını yapıyoruz
sayioku
ve kodlarımız

   private string yaziyaCevir(decimal tutar)
        {
            string sTutar = tutar.ToString("F2").Replace('.', ','); // Replace('.',',') ondalık ayracının . olma durumu için            
            string lira = sTutar.Substring(0, sTutar.IndexOf(',')); //tutarın tam kısmı
            string kurus = sTutar.Substring(sTutar.IndexOf(',') + 1, 2);
            string yazi = "";

            string[] birler = { "", "BİR", "İKİ", "Üç", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", "DOKUZ" };
            string[] onlar = { "", "ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", "SEKSEN", "DOKSAN" };
            string[] binler = { "KATRİLYON", "TRİLYON", "MİLYAR", "MİLYON", "BİN", "" }; //KATRİLYON'un önüne ekleme yapılarak artırabilir.

            int grupSayisi = 6; //sayıdaki 3'lü grup sayısı. katrilyon içi 6. (1.234,00 daki grup sayısı 2'dir.)
            //KATRİLYON'un başına ekleyeceğiniz her değer için grup sayısını artırınız.

            lira = lira.PadLeft(grupSayisi * 3, '0'); //sayının soluna '0' eklenerek sayı 'grup sayısı x 3' basakmaklı yapılıyor.            

            string grupDegeri;

            for (int i = 0; i < grupSayisi * 3; i += 3) //sayı 3'erli gruplar halinde ele alınıyor.
            {
                grupDegeri = "";

                if (lira.Substring(i, 1) != "0")
                    grupDegeri += birler[Convert.ToInt32(lira.Substring(i, 1))] + "YÜZ"; //yüzler                

                if (grupDegeri == "BİRYÜZ") //biryüz düzeltiliyor.
                    grupDegeri = "YÜZ";

                grupDegeri += onlar[Convert.ToInt32(lira.Substring(i + 1, 1))]; //onlar

                grupDegeri += birler[Convert.ToInt32(lira.Substring(i + 2, 1))]; //birler                

                if (grupDegeri != "") //binler
                    grupDegeri += binler[i / 3];

                if (grupDegeri == "BİRBİN") //birbin düzeltiliyor.
                    grupDegeri = "BİN";

                yazi += grupDegeri;
            }

            if (yazi != "")
                yazi += " TL ";

            int yaziUzunlugu = yazi.Length;

            if (kurus.Substring(0, 1) != "0") //kuruş onlar
                yazi += onlar[Convert.ToInt32(kurus.Substring(0, 1))];

            if (kurus.Substring(1, 1) != "0") //kuruş birler
                yazi += birler[Convert.ToInt32(kurus.Substring(1, 1))];

            if (yazi.Length > yaziUzunlugu)
                yazi += " Kr.";
            else
                yazi += "SIFIR Kr.";

            return yazi;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            label2.Text = yaziyaCevir(Convert.ToDecimal(textBox1.Text));
        }

sayioku1
bu güzel uygulama için hayati şahin‘e teşekkürler.

Bu İçeriğe Tepkin Ne Oldu?
İlginizi Çekebilir
Subscribe
Bildir
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

6 Yorum
Inline Feedbacks
View all comments
Hakan

Teşekkürler, çok güzel olmuş, ellerinize sağlık.

Yusuf Doğan

c# wpf application ‘da mı yapıyorsunuz ?

BilisimOgretmeni

sitede wpf örnekleri de mevcut

orcun

çok güzel olmuş elinize sağlık

BilisimOgretmeni

iyi çalışmalar