Header Ads

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

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

Hiç yorum yok

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

Post Top Ad

Post Bottom Ad