Girilen Sayıyı Yazıya Çevirme

Kaynak

https://www.sanaldata.com/c-ile-girilen-sayiyi-yaziya-cevirme-fonksiyon

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;

} 

Yorumlar

Bu blogdaki popüler yayınlar

Başvuran varsayılan bitiş noktası öğesi bulunamadı. Hatası ve Çözümü

Verilen yolun biçimi desteklenmiyor. (C#, FileUpload Dosya Yükleme Hatası)

ExecuteScalar, ExecuteReader, ExecuteNonQuery Hangi Durumlarda Kullanılır