MASIGNASUKA101
3556188086790554623

C# Girilen sayıyı yazıya çevirme 3 basamağa kadar

C# Girilen sayıyı yazıya çevirme 3 basamağa kadar
28 Nisan 2016 Perşembe
C# Girilen sayıyı yazıya çevirme 3 basamağa kadar

C# Girilen sayıyı yazıya çevirme 3 basamağa kadar

Bir,iki ve üç basamaklı sayıları dilimize göre yazıya çevirme programı. Diziler ile birler, onlar ve yüzler olmak üzere textboxa girilen yazıyı textbox_changed olayı ile anında ekrana yazdıran örnek bir uygulama. Uygulama kodları açıklama satırları ile desteklenmiştir. Windows form application'dur.
   
        string sayi;
        string[] birler = { "", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz" };
        string[] onlar = { "", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan" };
        string[] yuzler = { "", "Yüz", "İkiyüz", "Üçyüz", "Dörtyüz", "Beşyüz", "Altıyüz", "Yediyüz", "Sekizyüz", "Dokuzyüz" };

        private void Form1_Load(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox1.MaxLength = 3; // Maximum 3 karakter basılabilir ayarladık
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            sayi = textBox1.Text.ToString();
            if (sayi.Length == 1) // Sayı tek basamaksa
            {
                label1.Text = "Sonuç : " + birler[Convert.ToInt32(sayi)]; //  birler dizisinden sayi ya uygun yazıyı getiriyoruz. sayi = 5 ise dizinin 5.elemanını getirdik oda beş
            }
            else if (sayi.Length == 2) // sayi iki basamaksa
            {
                label1.Text = "Sonuç : " + onlar[Convert.ToInt32(sayi.Substring(0,1))] + birler[Convert.ToInt32(sayi.Substring(1, 1))];
               // Bu sefer onlar dizisinden ilk karakteri getirdik atıyorum 34 ilk karakter 3 Otuz diye geldi sonra birler dizinden 4 Dört olarak çektik
            }
            else if (sayi.Length == 3) // sayi iki basamaksa
            {
                label1.Text = "Sonuç : " + yuzler[Convert.ToInt32(sayi.Substring(0, 1))] + onlar[Convert.ToInt32(sayi.Substring(1, 1))] + birler[Convert.ToInt32(sayi.Substring(2, 1))];
                // Bu sefer yüzler i ilk sonra onlar sonra birler oalrak labela yazdırdık
            }
            else
            {
                label1.Text = "";
            }
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar); // Textboxa sadece sayı girilmesini sağladık.
        }

Kaynak kodları için : C# sayıları yazıya çevirme
Ali Köklü

Üç yılı aşkın süredir projevekod blogum da c# programlama örnek kodları paylaşıyorum. Yazı yazmaktan ve bilgi paylaşmaktan büyük keyif alırım. Çok sakin ve eğlenceli biriyimdir. Sürekli kendimi geliştirmek için çaba sarf ederim. Her türlü olumlu, olumsuz eleştirilere açık bir insanımdır. Beni sosyal medya'da takip etmek isterseniz : @alikoklu254

Konu hakkında yorumlarınızı bekliyorum teşekkürler.