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