程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C# 人民幣(RMB)轉化為大寫字母

C# 人民幣(RMB)轉化為大寫字母

編輯:.NET實例教程

  public class ToChineseValue

    ...{        
        private enum chineseChar...{零,壹,貳,三,肆,伍,陸,柒,捌,玖};
        private enum charValue...{個=1,十,百,千}
        private enum c...{元=1,萬,億,兆};
        private enum afterPoint...{角,分};
        public ToChineseValue()
        ...{
            //
           &
nbsp;// TODO: 在此處添加構造函數邏輯
            //
        }
        public string toChineseChar(decimal d)
        ...{
            decimal flag=0;
            if(d<0)
            ...{
                flag=d;
                d=-d;
            }
            
            string strChinese="";
            string nextString="";

            System.Globalization.NumberFormatInfo fmat=new System.Globalization.NumberFormatInfo();
            fmat.CurrencyDecimalDigits=2;            
            fmat.CurrencySymbol="";                
            fmat.CurrencyGroupSizes =new int []...{4,4,4,4};
            fmat.CurrencyGroupSeparator=",";

 string strx=d.ToString("c",fmat);        

            string []afterArray=strx.ToString() .Split (''.'');

            char[] prePoint=afterArray[0].ToCharArray ();
            char [] nextChar=afterArray[1].ToCharArray ();                
            
            if(System.Convert .ToDecimal (afterArray[0].ToString ())==0)
            ...{ strChinese="";}
            else
            ...{            
                string [] str=afterArray[0].ToString().Split ('','');
                int Num=str.Length ;        
                //交錯數組用來放四個一組的數組
                char[][]part=new char [Num][];        
                for(int i=0;i<str.Length ;i++)
                ...{     &nbsp;          
                    part[i]=str[i].ToCharArray ();                
                }        
                for(int i=0;i<Num;i++)
                ...{                
                    for(int j=0;j<part[i].Length;j++)                
                    ...{
                        //用枚舉完成漢字的轉換
                        strChinese+=((chineseChar)int.Parse (part[i][j].ToString ())).ToString ();
                        //用枚舉完成單位: 個 十 百 千 
                        strChinese+=((charValue)(part[i].Length-j)).ToString();                        
                    }    
                    //以下為處理元 萬 億 兆 
                    strChinese+=((c)(part.Length-i)).ToString();
                }                
            }       

  //處理點號後面的小數部分        

            if(System.Convert.ToDecimal(afterArray[1].ToString ())==0&&System.Convert.ToDecimal(afterArray                           [0].ToString ())!=0)
            ...{
                nextString="整";
            }
            else
            ...{    
                for(int i=0;i<2;i++)
                ...{    
                    int t=int.Parse (nextChar[i].ToString ());                
                    nextString+=((chineseChar)int.Parse (nextChar[i].ToString ())).ToString ();
                    nextString+=((afterPoint)(i)).ToString();
                    if(t==0)

   ...{
                        StringBuilder str=new StringBuilder(nextString);                                            
                        nextString=str.Replace ("零零","零").ToString ();
                        nextString=str.Replace ("零角零分","零元").ToString ();                        
                    }
                }                
            }                
            StringBuilder sb=new StringBuilder(strChinese);    
            for(int i=0;i<4;i++)
            ...{    
                strChinese=sb.Replace ("個","").ToString ();                
                strChinese=sb.Replace ("零元","元").ToString ();
                strChinese=sb.Replace ("零萬","萬").ToString ();
                strChinese=sb.Replace ("億萬","億").ToString ();
                strChinese=sb.Replace ("零億","億").ToString ();
                strChinese=sb.Replace ("零十","零").ToString ();
                strChinese=sb.Replace ("零百","零").ToString ();

;     strChinese=sb.Replace ("零千","零").ToString ();
                strChinese=sb.Replace ("零零","零").ToString ();
                strChinese=sb.Replace ("零角零分","整").ToString ();
            }
            if(flag>=0)
            ...{
                return strChinese+nextString;
            }
            return "負"+strChinese+nextString;
        }
    } 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved