using System;
class Program
{
static void Main(string[] args)
{
string[] birler = {“”, “bir”, “iki”, “üç”, “dört”, “beş”, “altı”, “yedi”, “sekiz”, “dokuz”};
string[] onlar = {“”, “on”, “yirmi”, “otuz”, “kırk”, “elli”, “altmış”, “yetmiş”, “seksen”, “doksan”};
Console.Write(“Sayı girin: “);
int sayi = int.Parse(Console.ReadLine());
string yazı = “”;
if (sayi < 0)
{
yazı = “eksi “;
sayi = -sayi;
}
if (sayi == 0)
{
yazı = “sıfır”;
}
if (sayi >= 1000000)
{
yazı += SayıyıYazıyaÇevir(sayi / 1000000) + ” milyon “;
sayi %= 1000000;
}
if (sayi >= 1000)
{
yazı += SayıyıYazıyaÇevir(sayi / 1000) + ” bin “;
sayi %= 1000;
}
if (sayi >= 100)
{
yazı += birler[sayi / 100] + ” yüz “;
sayi %= 100;
}
if (sayi >= 10)
{
yazı += onlar[sayi / 10] + ” “;
sayi %= 10;
}
yazı += birler[sayi];
Console.WriteLine(yazı);
}
static string SayıyıYazıyaÇevir(int sayi)
{
string[] birler = {“”, “bir”, “iki”, “üç”, “dört”, “beş”, “altı”, “yedi”, “sekiz”, “dokuz”};
string[] onlar = {“”, “on”, “yirmi”, “otuz”, “kırk”, “elli”, “altmış”, “yetmiş”, “seksen”, “doksan”};
string yazı = “”;
if (sayi >= 100)
{
yazı += birler[sayi / 100] + ” yüz “;
sayi %= 100;
}
if (sayi >= 10)
{
yazı += onlar[sayi / 10] + ” “;
sayi %= 10;
}
yazı += birler[sayi];
return yazı;
}
}
Bu kodda, girilen sayı önce basamaklarına ayrılır, sonra her bir basamağın okunuşu belirlenerek birleştirilir. Eğer sayı 0’dan küçükse önce “eksi ” eklenir.
static string ConvertNumberToWords(int number)
{
if (number == 0)
{
return “sıfır”;
}
else if (number < 0)
{
return “eksi ” + ConvertNumberToWords(Math.Abs(number));
}
string words = “”;
if ((number / 1000000) > 0)
{
words += ConvertNumberToWords(number / 1000000) + ” milyon “;
number %= 1000000;
}
if ((number / 1000) > 0)
{
words += ConvertNumberToWords(number / 1000) + ” bin “;
number %= 1000;
}
if ((number / 100) > 0)
{
words += ConvertNumberToWords(number / 100) + ” yüz “;
number %= 100;
}
if (number > 0)
{
if (words != “”)
{
words += ” “;
}
var units = new[] {“sıfır”, “bir”, “iki”, “üç”, “dört”, “beş”, “altı”, “yedi”, “sekiz”, “dokuz”};
var tens = new[] {“on”, “yirmi”, “otuz”, “kırk”, “elli”, “altmış”, “yetmiş”, “seksen”, “doksan”};
if (number < 10)
{
words += units[number];
}
else if (number < 20)
{
words += “on” + units[number – 10];
}
else
{
words += tens[number / 10 – 1];
if ((number % 10) > 0)
{
words += ” ” + units[number % 10];
}
}
}
return words;
}
Bu fonksiyon, herhangi bir integer sayısını Türkçeye çevirmek için kullanılabilir. Örneğin, ConvertNumberToWords(123) fonksiyonu “yüz yirmi üç” string’ini döndürür.