数字转人民币大写

来源:互联网 发布:linux卸载已安装的jdk 编辑:程序博客网 时间:2024/04/30 12:10
private   string   GetNumToUpper(decimal   Money)
                {
                       
                       
string   NumList   =   "";   string   RmbList   =   "";
                       
int   NumLen   =   0;   int   NumChar   =   0;
                       
string   N1   =   "",   N2   =   "";
                       
decimal   Mnu   =   0;
                       
int   I   =   0;
                       
string   numStr   =   "";string   Change   =   "";

                        Mnu  
=   Money;
                       
if   (Money   >   0)
                        {
                                Money  
=   Convert.ToDecimal(Money.ToString("#.00"));
                        }
                       
else
                        {
                                Money  
=   Convert.ToDecimal(Money.ToString("#.00"))   *   -1;
                        }

                        NumList  
=   "零壹贰叁肆伍陆柒捌玖";
                        RmbList  
=   "分角元拾佰仟万拾佰仟亿拾佰仟万";

                       
if   (Money   >   9999999999999.99M)
                        {
                               
return   "-------";     //超出范围的人民币值,无法显示!;
                        }

                        numStr  
=   Convert.ToString(Convert.ToDecimal(Money   *   100).ToString("#"));
                        NumLen  
=   numStr.Length;

                        I  
=   0;
                       
while   (I   <=   NumLen   -1)
                        {
                                NumChar  
=   Convert.ToInt32(numStr.Substring(I,   1));
                                N1  
=   NumList.Substring(NumChar,   1);
                                N2  
=   RmbList.Substring(NumLen   -   I   -1,   1);
                               
if   (N1   !=   "")
                                {
                                        Change  
+=   N1   +   N2;
                                }
                               
else
                                {
                                       
if   (N2   ==   "亿"   ¦ ¦   N2   ==   ""   ¦ ¦   N2   ==   ""   ¦ ¦   N1   ==   "")
                                        {
                                               
while   (Change.Substring(Change.Length   -   1,   1)   ==   "")
                                                {
                                                        Change  
=   Change.Substring(0,   Change.Length   -   1);
                                                }
                                        }
                                       
if   (N2   ==   "亿"   ¦ ¦   (N2   ==   ""   &&   Change.Substring(Change.Length   -   1,   1)   !=   "亿")   ¦ ¦   N2   ==   "")
                                        {
                                                Change  
+=   N2;
                                        }
                                       
else
                                        {
                                               
if   (Change.Substring(Change.Length   -   2,   2).Substring(0,   1)   ==   ""   ¦ ¦   Change.Substring(Change.Length   -   1,   1)   !=   "亿")
                                                {
                                                        Change  
+=   N1;
                                                }
                                        }
                                }
                                I
++;
                        }
                       
if   (Change.Length   >   1)
                        {
                               
while   (Change.Substring(Change.Length   -   1,   1)   ==   "")
                                {
                                        Change  
=   Change.Substring(0,   Change.Length   -   1);
                                }
                               
if   (Change.Substring(Change.Length   -   1,   1)   ==   ""   ¦ ¦   Change.Substring(Change.Length   -   1,   1)   ==   "")
                                {
                                        Change  
+=   "";
                                }
                        }
                       
                                             
                       
if   (Mnu   >   0)
                        {
                               
return   Change;
                        }
                       
else   if   (Mnu   <   0)
                        {
                               
return   ""   +   Change;
                        }
                       
else
                        {
                               
return   "零元整";
                        }  
                }