將數(shù)字轉(zhuǎn)換為大寫數(shù)字

       public static string[] units = { "", "拾", "佰", "仟" };```

       static void Main(string[] args)
       {
           Console.WriteLine("輸入:");
           string a = Console.ReadLine();
           if (a.Length > 12)
           {
               Console.WriteLine("超過數(shù)字極限");
               Console.ReadLine();
               return;
           }
           Change(a);
           Console.ReadLine();
       }

       static void Change(string x)
       {


           //1011 1100 2400
           //壹仟零壹拾壹 億 壹仟壹佰 萬 零貳仟肆佰

           //萬以內(nèi)
           string small = "";
           //億以內(nèi)萬以外
           string middle = "";
           //億以外
           string large = "";
           if (x.Length <= 4)
               small = x;
           else if (x.Length <= 8 && x.Length > 4)
           {
               small = x.Substring(x.Length - 4, 4);
               middle = x.Substring(0, x.Length - 4);
           }
           else if (x.Length > 8)
           {
               small = x.Substring(x.Length - 4, 4);
               middle = x.Substring(x.Length - 8, 4);
               large = x.Substring(0, x.Length - 8);
           }

           small = Check0Change(small);
           middle = Check0Change(middle);
           large = Check0Change(large);
           string end = "";
           end = ChangeNumber(large, end, "億");
           if (middle != "aaaa")
               end = ChangeNumber(middle, end, "萬");
           end = ChangeNumber(small, end, "");
           Console.WriteLine($"end:{end}圓整");
       }

       private static string ChangeNumber(string small, string end, string danwei)
       {
           if (small != "")
           {
               for (int i = 0; i < small.Length; i++)
               {
                   if (small[i] != 'a')
                   {
                       uint y = uint.Parse((small[i]).ToString());
                       end += nums[y];
                   }
                   if (small[i] != 'a' && small[i] != '0')
                       end += units[small.Length - 1 - i];
               }
               end += danwei;
           }
           return end;
       }

       /// <summary>
       /// 檢測(cè)是否翻譯0(4位數(shù))
       /// </summary>
       /// <param name="a">翻譯的話返回0;不翻譯返回a</param>
       static string Check0Change(string a)
       {
           char[] b = a.ToCharArray();

           for (int i = b.Length - 1; i >= 0; i--)
           {
               if (b[i] == '0')
               {
                   b[i] = 'a';
               }
               else
                   break;
           }

           for (int i = 0; i < b.Length - 1; i++)
           {
               if (b.Length > 1)
               {
                   Console.WriteLine($"first:{b[i]} last{b[i + 1]}");
                   if (b[i] == '0' && b[i + 1] == '0')
                       b[i] = 'a';
               }
           }
           Console.WriteLine("轉(zhuǎn)換后的" + new string(b));
           return new string(b);
       }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容