C# Sayıyı Yazıya Cevirme
04 Aralık 2013 Yorum bırakın
public string sayiToYazi(long tmpNumber)
{
int LenOfNumber;
int LenMod3;
int MaxAmount = 0;
int i, B;
string Text = string.Empty;
string strNumber;
string[,] Numbers = newstring[4, 10];
string[] Steps = new string[5];
string x;
string y;
int lstX;
//Numbers dizisine değerleri ata
Numbers[3, 1] = “BİR”;
Numbers[3, 2] = “İKİ”;
Numbers[3, 3] = “ÜÇ”;
Numbers[3, 4] = “DÖRT”;
Numbers[3, 5] = “BEŞ”;
Numbers[3, 6] = “ALTI”;
Numbers[3, 7] = “YEDİ”;
Numbers[3, 8] = “SEKİZ”;
Numbers[3, 9] = “DOKUZ”;
Numbers[2, 1] = “ON”;
Numbers[2, 2] = “YİRMİ”;
Numbers[2, 3] = “OTUZ”;
Numbers[2, 4] = “KIRK”;
Numbers[2, 5] = “ELLİ”;
Numbers[2, 6] = “ALTMIŞ”;
Numbers[2, 7] = “YETMİŞ”;
Numbers[2, 8] = “SEKSEN”;
Numbers[2, 9] = “DOKSAN”;
Numbers[1, 1] = “YÜZ”;
Numbers[1, 2] = “İKİYÜZ”;
Numbers[1, 3] = “ÜÇYÜZ”;
Numbers[1, 4] = “DÖRTYÜZ”;
Numbers[1, 5] = “BEŞYÜZ”;
Numbers[1, 6] = “ALTIYÜZ”;
Numbers[1, 7] = “YEDİYÜZ”;
Numbers[1, 8] = “SEKİZYÜZ”;
Numbers[1, 9] = “DOKUZYÜZ”;
//Steps dizisine değerleri ata
Steps[0] = “”;
Steps[1] = “BİN”;
Steps[2] = “MİLYON”;
Steps[3] = “MİLYAR”;
Steps[4] = “TRİLYON”;
//Sayıyı stringe çevir
strNumber = tmpNumber.ToString();
//Stringin uzunluğunu bul
LenOfNumber = strNumber.Length;
LenMod3 = LenOfNumber % 3;
//İlk basamağı üçe tamamla
if (LenMod3 != 0)
{
for (i = 1; i <= (3 – LenMod3); i++)
{
strNumber = “0” +strNumber;
}
LenOfNumber = LenOfNumber + (3 – LenMod3);
}
if (LenOfNumber >= 1 && LenOfNumber <=3)
MaxAmount = 0;
else if (LenOfNumber>= 4 && LenOfNumber <= 6)
MaxAmount = 1;
else if (LenOfNumber>= 7 && LenOfNumber <= 9)
MaxAmount = 2;
else if (LenOfNumber>= 10 && LenOfNumber <= 12)
MaxAmount = 3;
else if (LenOfNumber>= 13 && LenOfNumber <= 15)
MaxAmount = 4;
B= 0;
while (MaxAmount >= 0)
{
y = strNumber.Substring(B, 3);
for (i = 0; i < 3; i++)
{
x = y.Substring(i, 1);
if (int.Parse(x)== 0)
Text = Text + “”;
else
{
Text = Text + Numbers[i+ 1, int.Parse(x)];
lstX = int.Parse(x);
}
}
if (y != “000”)
Text = Text + Steps[MaxAmount] + “”;
MaxAmount = MaxAmount – 1;
B = B + 3;
}
//texti uygun hale getir
if (Text.StartsWith(“birbin”))Text = Text.Substring(3);
return Text;
}