1. Ana Sayfa
  2. C Sharp
  3. C# Sayıyı Yazıya Çeviren Uygulama

C# Sayıyı Yazıya Çeviren Uygulama

C# Sayıyı Yazıya Çeviren Uygulama

Merhabalar, C# Sayıyı Yazıya Çeviren Uygulama yazım ile proje yazılarıma devam ediyorum. Bu uygulamayı da sıfırdan ben yazmadım. Bu işlem normalde parasal ifadeler için geçerliydi. Ben bu işlemi normal sayıları yazacak şekilde yeniden düzenledim. Sende hep başka uygulamaları alıp alıp yayınlıyorsun diyebilirsiniz ama Amerika’yı tekrar tekrar keşfetmeye gerek yok. Yazılmış bir kod vardı ve bende o kodları alıp işime yarayacak şekilde düzenledim ve paylaşıyorum. Bu kodlar bende uzun zamandır vardı. Nereden aldığımı hatırlamıyorum. O yüzden kaynak veremeyeceğim. Eğer bu kodların sahibi bu yazımı görüpte kaynağı mail atarsa ilgili kaynak bilgisini verebilirim.

C# Sayıyı Yazıya Çeviren Uygulama

Adından da anlayacağınız gibi bu uygulama bir sayıyı yazı olarak yazıyor. Örneğin 2021 sayını İKİ BİN YİRMİ BİR olarak bize verecek.

Form tasarımı denecek bir tasarım yok. Birer tane label textbox ve button yeterlidir. Konuda da pek açıklayacak bir şey yok. O yüzden direk kodları vereceğim.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Sayiyi_Yaziya_Cevirme
{
    public static class Yaziya_Cevir
    {
        public static string yaziyaCevir(decimal tutar)
        {
            string sTutar = tutar.ToString("F2").Replace('.', ',');
            // Replace('.',',') ondalık ayracının . olma durumu için    

            string lira = sTutar.Substring(0, sTutar.IndexOf(','));
            //tutarın tam kısmı   

            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 ", "" };
            //KATRİLYON'un önüne ekleme yapılarak artırabilir.   

            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');
            //sayının soluna '0' eklenerek sayı 'grup sayısı x 3' basakmaklı yapılıyor.   

            string grupDegeri;
            for (int i = 0; i < grupSayisi * 3; i += 3)            //sayı 3'erli gruplar halinde ele alınıyor. 
            {
                grupDegeri = "";
                string s = lira.Substring(i, 1);
                if (s != "0")
                    grupDegeri += birler[Convert.ToInt32(lira.Substring(i, 1))] + "YÜZ"; //yüzler            
                if (grupDegeri == "BİRYÜZ") //biryüz düzeltiliyor.         
                    grupDegeri = "YÜZ";
                grupDegeri += onlar[Convert.ToInt32(lira.Substring(i + 1, 1))]; //onlar  
                grupDegeri += birler[Convert.ToInt32(lira.Substring(i + 2, 1))]; //birler    
                if (grupDegeri != "") //binler    
                    grupDegeri += binler[i / 3];
                if (grupDegeri == "BİRBİN") //birbin düzeltiliyor.         
                    grupDegeri = "BİN";
                yazi += grupDegeri;
            }

            // VİRGÜLDEN SONRA İKİ BASAMAK
            if (kurus.Substring(0, 1) != "0") //kuruş onlar     
            {
                yazi += "VİRGÜL ";
                yazi += onlar[Convert.ToInt32(kurus.Substring(0, 1))];
            }
            if (kurus.Substring(1, 1) != "0") //kuruş birler   
            {
                yazi += birler[Convert.ToInt32(kurus.Substring(1, 1))];
            }

            yazi = yazi.Replace("YÜZ", "YÜZ ").Replace("BİN", "BİN ");
            return yazi;
        }
    }
}

Kodların hepsi yukarıda gördüğünüz gibidir. Size direk class dosyasını verdim. İstediğiniz gibi kullanabilirsiniz. Github Proje dosyasının linkini aşağıda bulabilirsiniz.


C# Basit Telefon Rehberi Uygulaması yazımda bu kadar arkadaşlar.  Diğer yazılarımda görüşmek üzere. Umarım faydalı olmuştur. Aşağıdaki linklerden eğitim seti sayfasına ve github projesine ulaşabilirsiniz.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.  Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz… Bu projenin Github sayfasına buradan ulaşabilirsiniz.

Sağlıcakla ve kodla kalın….

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Değerli yorumlarınızı bekliyorum. Lütfen yorum atmadan geçmeyin. :)