C# Sayıyı Yazıya Cevirme


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;

}