"Enter"a basıp içeriğe geçin

C# Sayıyı Yazıya Çevirme

Bu paylaşımda kullanıcıdan girilen sayıyı yazıya çevirme işlemi nasıl yapılır bunu görüyor olacağız.

Uygulamayı console’da yapacağımız için console uygulaması oluşturalım. Uygulama içerisinde ‘SayiyiYaziyaCevir’ adında bir static sınıf hazırlayalım.

public static class SayiyiYaziyaCevir
{
    public static string YaziyaCevir(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; //sayıdaki 3'lü grup sayısı. katrilyon içi 6. (1.234,00 daki grup sayısı 2'dir.)
                            //KATRİLYON'un başına ekleyeceğiniz her değer için grup sayısını artırınız.
        lira = lira.PadLeft(grupSayisi * 3, '0');
        string grupDegeri;
        for (int i = 0; i & lt; grupSayisi * 3; i += 3)
{
            grupDegeri = "";
            if (lira.Substring(i, 1) != "0")
                grupDegeri += birler[Convert.ToInt32(lira.Substring(i, 1))] + "YÜZ ";
            if (grupDegeri == "BİR YÜZ ")
                grupDegeri = "YÜZ ";
            grupDegeri += onlar[Convert.ToInt32(lira.Substring(i + 1, 1))];
            grupDegeri += birler[Convert.ToInt32(lira.Substring(i + 2, 1))];
            if (grupDegeri != "") //binler
                grupDegeri += binler[i / 3];
            if (grupDegeri == "BİR Bİ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 & gt; yaziUzunlugu)
yazi += "KR";

        return yazi;
    }
}

Şimdi program.cs’ye gelip main methodu içerisine gereken kodu ekleyelim.

class Program
{
    static void Main(string[] args)
    {
        var girilenTutar = Console.ReadLine();
        var tutar = Convert.ToDecimal(girilenTutar);
        Console.Write(SayiyiYaziyaCevir.YaziyaCevir(tutar));
        Console.ReadKey();
    }
}
Kaynak : http://www.eyurtsever.com/index.php/parayi-yaziya-cevirmek-asp-netc
Yazıyı Paylaşmak İster misin?
Share on Facebook
Facebook
Pin on Pinterest
Pinterest
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Share on Tumblr
Tumblr
Share on Reddit
Reddit
    Bir cevap yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir