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.

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; }
print
Share