Yazılım Notları
Bilgi Paylaştıkça Çoğalır...

Sayıyı Yazıya Çevirme

Sayıyı Yazıya çeviren C Sharp fonksiyonu. Long tipinde göndereceğiniz bir sayıyı metne dönüştürebilirsiniz. Fonksiyon kaynak kodu için yazının devamını okuyun.

       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;

        }

Kolay gelsin...
 
Aynı Kategorideki Diğer Makaleler

En Güzel Sözler Uygulaması İçin


Ana Sayfa       Arama       Valid CSS!