Aklımda Kalası Kelimeler

* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur

12 Mayıs 2009 Salı

C# ile Rakamı Yazıya Çevirme

class RakamiYaziyaCevir
{
public string YaziyaCevirENG(int _iSayi, string _sAyrac)
{
if (_sAyrac == null || _iSayi.ToString().IndexOf(_sAyrac.ToCharArray()[0]) == -1)
{
return YaziyaCevirTR(_iSayi);
}

string[] sSayilar = _iSayi.ToString().Split(_sAyrac.ToCharArray());
return YaziyaCevirTR(Convert.ToInt32(sSayilar[0])) + YaziyaCevirTR(Convert.ToInt32(sSayilar[1]));

}


public string YaziyaCevirENG(int _iSayi)
{
string[] Birler = { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
string[] Onlar = { "", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
string[] Yuzler = { "", "OneHundred", "TwoHundred", "ThreeHundred", "FourHundred", "FiveHundred", "SixHundred", "SevenHundred", "EigthHundred", "NineHundred" };
string[] Binler = { "Trilyon", "Milyar", "Milyon", "Thousand", "" };

string[] Dizi = new string[15];
string[] Uc_hane = new string[3];
string Yazi = "";
string Sonuc = "";

string Sayi_str;
Sayi_str = _iSayi.ToString();
Sayi_str = "000000000000000" + Sayi_str;
Sayi_str = Sayi_str.Substring(_iSayi.ToString().Length, 15);

for (int i = 0; i < Sayi_str.Length; i++)
{
Dizi[i] = Sayi_str[i].ToString();
}

for (int i = 0; i < 5; i++)
{
Uc_hane[0] = Dizi[(i * 3) + 0];
Uc_hane[1] = Dizi[(i * 3) + 1];
Uc_hane[2] = Dizi[(i * 3) + 2];

if (Uc_hane[0] == "0")
{
Yazi = "";
}
else if (Uc_hane[0] == "1")
{
Yazi = "OneHundred";
}
else
{
Yazi = Birler[Convert.ToInt16(Uc_hane[0])] + "Hundred";
}

Yazi = Yazi + Onlar[Convert.ToInt16(Uc_hane[1])] + Birler[Convert.ToInt16(Uc_hane[2])];

if (Yazi != "")
Yazi = Yazi + Binler[i];

if ((i == 2) && (Yazi == "OneThousand"))
{
Yazi = "Thousand";
}

Sonuc += Yazi;

}

return Sonuc;
}

//-------------------------------------------------------

public string YaziyaCevirTR(int _iSayi, string _sAyrac)
{
if (_sAyrac == null || _iSayi.ToString().IndexOf(_sAyrac.ToCharArray()[0]) == -1)
{
return YaziyaCevirTR(_iSayi);
}

string[] sSayilar = _iSayi.ToString().Split(_sAyrac.ToCharArray());
return YaziyaCevirTR(Convert.ToInt32(sSayilar[0])) + YaziyaCevirTR(Convert.ToInt32(sSayilar[1]));

}

public string YaziyaCevirTR(int _iSayi)
{
string[] Birler = { "", "Bir", "İki", "Üç", "Dört", "Beş", "Altı", "Yedi", "Sekiz", "Dokuz" };
string[] Onlar = { "", "On", "Yirmi", "Otuz", "Kırk", "Elli", "Altmış", "Yetmiş", "Seksen", "Doksan" };
string[] Yuzler = { "", "Yüz", "İkiYüz", "ÜçYüz", "DörtYüz", "BeşYüz", "AltıYüz", "YediYüz", "SekizYüz", "DokuzYüz" };
string[] Binler = { "Trilyon", "Milyar", "Milyon", "Bin", "" };

string[] Dizi = new string[15];
string[] Uc_hane = new string[3];
string Yazi = "";
string Sonuc = "";

string Sayi_str;
Sayi_str = _iSayi.ToString();
Sayi_str = "000000000000000" + Sayi_str;
Sayi_str = Sayi_str.Substring(_iSayi.ToString().Length, 15);

for (int i = 0; i < Sayi_str.Length; i++)
{
Dizi[i] = Sayi_str[i].ToString();
}

for (int i = 0; i < 5; i++)
{
Uc_hane[0] = Dizi[(i * 3) + 0];
Uc_hane[1] = Dizi[(i * 3) + 1];
Uc_hane[2] = Dizi[(i * 3) + 2];

if (Uc_hane[0] == "0")
{
Yazi = "";
}
else if (Uc_hane[0] == "1")
{
Yazi = "Yüz";
}
else
{
Yazi = Birler[Convert.ToInt16(Uc_hane[0])] + "Yüz";
}

Yazi = Yazi + Onlar[Convert.ToInt16(Uc_hane[1])] + Birler[Convert.ToInt16(Uc_hane[2])];

if (Yazi != "")
Yazi = Yazi + Binler[i];

if ((i == 2) && (Yazi == "BirBin"))
{
Yazi = "Bin";
}

Sonuc += Yazi;

}

return Sonuc;
}
}