Bu fonksiyon sayıyı c# dilinde yazıyla nasıl yazdırabilirim sorusunun cevabını veriyor,  sayıları “yazıyla” denilen hale dönüştürür.

 

[codesyntax lang=”csharp”]

public static string[] arrBirler = { "", "BİR", "İKİ", "ÜÇ", "DÖRT", "BEŞ", "ALTI", "YEDİ", "SEKİZ", "DOKUZ" };
public static string[] arrOnlar = { "", "ON", "YİRMİ", "OTUZ", "KIRK", "ELLİ", "ALTMIŞ", "YETMİŞ", "SEKSEN", "DOKSAN" };
public static string[] arrYuzler = { "", "YÜZ", "İKİYÜZ", "ÜÇYÜZ", "DÖRTYÜZ", "BEŞYÜZ", "ALTIYÜZ", "YEDİYÜZ", "SEKİZYÜZ", "DOKUZYÜZ" };
public static string[] arrKatlar = { "", "BİN", "MİLYON", "MİLYAR", "TRİLYON", "KATTRİLYON", "TRİLYAR", "KATTRİLYAR" };

public static string Yaziyla(double lnSayi)
{
long lGecici = Convert.ToInt64(lnSayi); // 0..9,223,372,036,854,775,807
string strHedef = (lGecici == 0) ? ("SIFIR") : ("");
short snKatlnSayi = 0;

while (lGecici > 0)
{
strHedef = (((snKatlnSayi == 1) && (lGecici % 1000) == 1) ? ("") : (arrYuzler[(lGecici % 1000) / 100] + arrOnlar[(lGecici % 100) / 10] + arrBirler[lGecici % 10])) + arrKatlar[snKatlnSayi++] + strHedef;
lGecici = Convert.ToInt64(lGecici / 1000);
}
return strHedef;
}

[/codesyntax]

print
Share