İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

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

C# Sayıyı Yazıya Çeviren Uygulama
+ - 0

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….

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)