C#中金額的大小寫轉換


        public static string MoneyToUpper(string strAmount)
        {
           
string functionReturnValue =null;
           
bool IsNegative =false; // 是否是負數
            if (strAmount.Trim().Substring(0, 1) =="-")
            {
               
// 是負數則先轉為正數
                strAmount = strAmount.Trim().Remove(0, 1);
                IsNegative
=true;
            }
           
string strLower =null;
           
string strUpart =null;
           
string strUpper =null;
           
int iTemp =0;
           
// 保留兩位小數 123.489→123.49  123.4→123.4
            strAmount = Math.Round(double.Parse(strAmount), 2).ToString();
           
if (strAmount.IndexOf(".") >0)
            {
               
if (strAmount.IndexOf(".") == strAmount.Length -2)
                {
                    strAmount
= strAmount +"0";
                }
            }
           
else
            {
                strAmount
= strAmount +".00";
            }
            strLower
= strAmount;
            iTemp
=1;
            strUpper
="";
           
while (iTemp <= strLower.Length)
            {
               
switch (strLower.Substring(strLower.Length - iTemp, 1))
                {
                   
case".":
                        strUpart
="";
                       
break;
                   
case"0":
                        strUpart
="";
                       
break;
                   
case"1":
                        strUpart
="";
                       
break;
                   
case"2":
                        strUpart
="";
                       
break;
                   
case"3":
                        strUpart
="";
                       
break;
                   
case"4":
                        strUpart
="";
                       
break;
                   
case"5":
                        strUpart
="";
                       
break;
                   
case"6":
                        strUpart
="";
                       
break;
                   
case"7":
                        strUpart
="";
                       
break;
                   
case"8":
                        strUpart
="";
                       
break;
                   
case"9":
                        strUpart
="";
                       
break;
                }

               
switch (iTemp)
                {
                   
case1:
                        strUpart
= strUpart +"";
                       
break;
                   
case2:
                        strUpart
= strUpart +"";
                       
break;
                   
case3:
                        strUpart
= strUpart +"";
                       
break;
                   
case4:
                        strUpart
= strUpart +"";
                       
break;
                   
case5:
                        strUpart
= strUpart +"";
                       
break;
                   
case6:
                        strUpart
= strUpart +"";
                       
break;
                   
case7:
                        strUpart
= strUpart +"";
                       
break;
                   
case8:
                        strUpart
= strUpart +"";
                       
break;
                   
case9:
                        strUpart
= strUpart +"";
                       
break;
                   
case10:
                        strUpart
= strUpart +"";
                       
break;
                   
case11:
                        strUpart
= strUpart +"";
                       
break;
                   
case12:
                        strUpart
= strUpart +"";
                       
break;
                   
case13:
                        strUpart
= strUpart +"";
                       
break;
                   
case14:
                        strUpart
= strUpart +"";
                       
break;
                   
case15:
                        strUpart
= strUpart +"";
                       
break;
                   
case16:
                        strUpart
= strUpart +"";
                       
break;
                   
default:
                        strUpart
= strUpart +"";
                       
break;
                }

                strUpper
= strUpart + strUpper;
                iTemp
= iTemp +1;
            }

            strUpper
= strUpper.Replace("零拾", "");
            strUpper
= strUpper.Replace("零佰", "");
            strUpper
= strUpper.Replace("零仟", "");
            strUpper
= strUpper.Replace("零零零", "");
            strUpper
= strUpper.Replace("零零", "");
            strUpper
= strUpper.Replace("零角零分", "");
            strUpper
= strUpper.Replace("零分", "");
            strUpper
= strUpper.Replace("零角", "");
            strUpper
= strUpper.Replace("零億零萬零圓", "億圓");
            strUpper
= strUpper.Replace("億零萬零圓", "億圓");
            strUpper
= strUpper.Replace("零億零萬", "");
            strUpper
= strUpper.Replace("零萬零圓", "萬圓");
            strUpper
= strUpper.Replace("零億", "");
            strUpper
= strUpper.Replace("零萬", "");
            strUpper
= strUpper.Replace("零圓", "");
            strUpper
= strUpper.Replace("零零", "");

           
// 對壹圓以下的金額的處理
            if (strUpper.Substring(0, 1) =="")
            {
                strUpper
= strUpper.Substring(1, strUpper.Length -1);
            }
           
if (strUpper.Substring(0, 1) =="")
            {
                strUpper
= strUpper.Substring(1, strUpper.Length -1);
            }
           
if (strUpper.Substring(0, 1) =="")
            {
                strUpper
= strUpper.Substring(1, strUpper.Length -1);
            }
           
if (strUpper.Substring(0, 1) =="")
            {
                strUpper
= strUpper.Substring(1, strUpper.Length -1);
            }
           
if (strUpper.Substring(0, 1) =="")
            {
                strUpper
="零圓整";
            }
            functionReturnValue
= strUpper;

           
if (IsNegative ==true)
            {
               
return""+ functionReturnValue;
            }
           
else
            {
               
return functionReturnValue;
            }
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM