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.

Bir cevap yazın

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.