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...
 
Similar Articles

Banka Hesap Numaralarınızı, IBAN Numaralarınızı bir kere telefonunuza kaydedin. İhtiyaç duyduğunuzda elinizin altında olsun.

Banka Hesaplarım

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


En Çok Rating Alanlar
Ana Sayfa       Arama       Valid CSS!