C# 3 Basamaklı Sayıyı Yazıya Çevirme

C# 3 Basamaklı Sayıyı Yazıya Çevirme

C# 3 Basamaklı Sayıyı Yazıya Çevirme

Yine güzel bir örnekle beraberiz arkadaşlar sizlerin gelişimine yardımcı olacağına emin olduğum bir uygulama tek boyutlu dizi kullanımı için bire bir.3 Basamaklı deyip geçmeyin bir ve iki basamaklılarıda alıyor merak etmeyin.Hemen paylaşıyorum.Herkese iyi kodlamalar.

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

Yorumlar