Parayı Yazıya Çevirmek ASP.NET(C#)

Para birimini yazıya çevirmek için aşağıdaki kodları kullanabilirsiniz.
Çıktısı şu şekilde olacaktır.
146,50 TL = YÜZKIRKALTI TÜRK LİRASI ELLİ KURUŞ
 
Kodlar
 

private 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 = "";
if (lira.Substring(i, 1) != "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;
}
if (yazi != "")
yazi += " TÜRK LİRASI ";
int yaziUzunlugu = yazi.Length;
if (kurus.Substring(0, 1) != "0") //kuruş onlar
yazi += onlar[Convert.ToInt32(kurus.Substring(0, 1))];
if (kurus.Substring(1, 1) != "0") //kuruş birler
yazi += birler[Convert.ToInt32(kurus.Substring(1, 1))];
if (yazi.Length > yaziUzunlugu)
yazi += " KURUŞ";
else
yazi += "SIFIR KURUŞ";
return yazi;
}

kaynak : hayatisahin.com

You may also like

1 Yorum

  1. Merhabalar.
    Bu kusursuz kod Paylaşımı İçin Teşekkürü BORÇ BİLİRİZ…
    Tarafımdan DLL Dosyasına Çevrildi ve Programımıza Eklendi
    Paylaşımlarınızın Devamını Dileriz
    Saygılarımızla.

Erdem Gürgenci için bir cevap yazın Cevabı iptal et

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.