C# İle Girilen Sayıyı Yazıya Çevirme ( Fonksiyon)
9 Temmuz 2018 / 17:17
Burak

Merhaba arkadaşlar,
C# da sayı ile girilen değeri yazı olarak çıktı almanız gerekebilir böyle durumlar için aşağıdaki fonksiyonu kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
private string sayitoyazi(decimal tutar) { string sTutar = tutar.ToString("F2").Replace('.', ','); string lira = sTutar.Substring(0, sTutar.IndexOf(',')); 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", "" }; int grupSayisi = 6; lira = lira.PadLeft(grupSayisi * 3, '0'); string grupDegeri; for (int i = 0; i < grupSayisi * 3; i += 3) { grupDegeri = ""; if (lira.Substring(i, 1) != "0") grupDegeri += birler[Convert.ToInt32(lira.Substring(i, 1))] + "YÜZ"; if (grupDegeri == "BİRYÜZ") grupDegeri = "YÜZ"; grupDegeri += onlar[Convert.ToInt32(lira.Substring(i + 1, 1))]; grupDegeri += birler[Convert.ToInt32(lira.Substring(i + 2, 1))]; if (grupDegeri != "") grupDegeri += binler[i / 3]; if (grupDegeri == "BİRBİN") grupDegeri = "BİN"; yazi += grupDegeri; } if (yazi != "") yazi += " TL "; int yaziUzunlugu = yazi.Length; if (kurus.Substring(0, 1) != "0") yazi += onlar[Convert.ToInt32(kurus.Substring(0, 1))]; if (kurus.Substring(1, 1) != "0") yazi += birler[Convert.ToInt32(kurus.Substring(1, 1))]; if (yazi.Length > yaziUzunlugu) yazi += " Kr."; else yazi += "SIFIR Kr."; return yazi; } |
Bu Yazılarıda Okuyabilirsiniz...
Bir cevap yazın