• 货币转大写两种方法


    第一种

            public static string GetMoney(double dd)
            {
                
    string s = dd.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
                
    string d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))""${b}${z}");
                
    string value = Regex.Replace(d, "."delegate(Match m)
                { 
    return "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万亿兆京垓秭穰"[m.Value[0- '-'].ToString(); });
                
    return value;
            }

     第二种

    static public string convertMoneytoRMB(double decMoney)
            {
                
    string strMoney, strOneNum, strTemp, strConverted;
                
    int i, iLen;

                
    //设初值
                strConverted = "";
                strMoney 
    = decMoney.ToString();
                iLen 
    = strMoney.Length;

                
    //先取小数位
                if (strMoney.IndexOf("."> 0)
                {
                    strTemp 
    = strMoney.Substring(strMoney.IndexOf("."+ 1, strMoney.Length - strMoney.IndexOf("."- 1);
                    
    if (strTemp.Length > 2)
                    {
                        Console.WriteLine(
    "错误:无法计算超过2位的小数");
                        
    return strConverted;
                    }
                    
    else if (strTemp == "0" || strTemp == "00" || strTemp == "")
                        strTemp 
    = "";
                    
    else
                    {
                        
    if (strTemp.Length == 1 && strTemp != "0")
                        {
                            strConverted 
    = converNumtoCapital(strTemp) + "" + strConverted;
                        }
                        
    else
                        {
                            strOneNum 
    = strTemp.Substring(01);
                            strConverted 
    = converNumtoCapital(strOneNum) + (strOneNum != "0" ? "" : ""+ strConverted;
                            strOneNum 
    = strTemp.Substring(11);
                            strConverted 
    = strConverted + (strOneNum != "0" ? converNumtoCapital(strOneNum) + "" : "");
                        }
                    }
                }

                
    //取整数部分
                if (strMoney.IndexOf("."< 0)
                    strTemp 
    = strMoney;
                
    else
                    strTemp 
    = strMoney.Substring(0, strMoney.IndexOf("."));

                iLen 
    = strTemp.Length;
                Console.WriteLine(strTemp);

                
    if (iLen > 0 && decimal.Parse(strTemp) != 0)
                {
                    strConverted 
    = "" + strConverted;

                    
    for (i = 0; i < iLen; ++i)
                    {
                        strOneNum 
    = strTemp.Substring(iLen - 1 - i, 1);
                        
    if ((i + 1== 1)
                        {
                            strConverted 
    = (strOneNum == "0" ? "" : converNumtoCapital(strOneNum)) + strConverted;
                        }
                        
    else if (((i + 1% 4 == 2 || (i + 1== 2&& i % 4 != 0 && i % 8 != 0)
                        {
                            
    if (strOneNum == "0")
                            {
                                
    if (strConverted.Substring(01== "" || strConverted.Substring(01== "" || strConverted.Substring(01== "" || strConverted.Substring(01== "亿")
                                    
    continue;
                                
    else
                                    strConverted 
    = "" + strConverted;
                            }
                            
    else
                                strConverted 
    = converNumtoCapital(strOneNum) + "" + strConverted;
                        }
                        
    else if (((i + 1% 4 == 3 || (i + 1== 3&& i % 4 != 0)
                        {
                            
    if (strOneNum == "0")
                            {
                                
    if (strConverted.Substring(01== "" || strConverted.Substring(01== "" || strConverted.Substring(01== "" || strConverted.Substring(01== "亿")
                                    
    continue;
                                
    else
                                    strConverted 
    = "" + strConverted;
                            }
                            
    else
                                strConverted 
    = converNumtoCapital(strOneNum) + "" + strConverted;
                        }
                        
    else if ((i + 1% 4 == 0 && i % 4 != 0)
                        {
                            
    if (strOneNum == "0")
                            {
                                
    if (strConverted.Substring(01== "" || strConverted.Substring(01== "" || strConverted.Substring(01== "" || strConverted.Substring(01== "亿")
                                    
    continue;
                                
    else
                                    strConverted 
    = "" + strConverted;
                            }
                            
    else
                                strConverted 
    = converNumtoCapital(strOneNum) + "" + strConverted;
                        }
                        
    else if (i % 4 == 0 && i % 8 != 0)
                        {
                            Console.WriteLine(
    "万位{0}", i);
                            strConverted 
    = (strOneNum == "0" ? "" : converNumtoCapital(strOneNum)) + "" + strConverted;
                        }
                        
    else if (i % 8 == 0)
                        {
                            Console.WriteLine(
    "亿位{0}", i);
                            
    if (strConverted.Substring(01== "") strConverted = strConverted.Substring(1, strConverted.Length - 1);
                            strConverted 
    = (strOneNum == "0" ? "" : converNumtoCapital(strOneNum)) + "亿" + strConverted;
                        }
                        
    else
                        {
                            Console.WriteLine(i);
                            strConverted 
    = converNumtoCapital(strOneNum) + strConverted;
                        }
                    }
                }

                
    return strConverted;
            }

            
    static string converNumtoCapital(string strNum)
            {
                
    string strCapital = "";
                
    switch (strNum)
                {
                    
    case "0":
                        strCapital 
    = "";
                        
    break;
                    
    case "1":
                        strCapital 
    = "";
                        
    break;
                    
    case "2":
                        strCapital 
    = "";
                        
    break;
                    
    case "3":
                        strCapital 
    = "";
                        
    break;
                    
    case "4":
                        strCapital 
    = "";
                        
    break;
                    
    case "5":
                        strCapital 
    = "";
                        
    break;
                    
    case "6":
                        strCapital 
    = "";
                        
    break;
                    
    case "7":
                        strCapital 
    = "";
                        
    break;
                    
    case "8":
                        strCapital 
    = "";
                        
    break;
                    
    case "9":
                        strCapital 
    = "";
                        
    break;
                    
    default:
                        strCapital 
    = "";
                        
    break;
                }
                
    return strCapital;
            }
  • 相关阅读:
    全程记录:今天尝试安装SharePoint Server 2007过程 ,安装成功了,但是开始使用碰到权限问题,应该算是BUg吧 无为而为
    IT人看《国富论》系列:第一篇之第九章:论资本利润,暴利或许意味着市场的调节已经失效了,比如房地产 无为而为
    组建InfoPath/SharePoint/WebParts项目组,已收到项目意向,欢迎每周至少有20小时左右的空余时间有项目经验者加入。 无为而为
    我有问题请教各位硬件高手:电脑呈现这个症状是不是电源的输出功率不够? 无为而为
    使用VS2005新功能的Tips:this.Validate();这一句话,让我找了好久。 无为而为
    MSF for CMMI Process Improvement项目体验: Work Items : Requirement (更新版) 无为而为
    等待新产品还是自己开发,这是个两难的问题 无为而为
    在播放器战争爆发之前:比较苹果的iTunes 6和微软Media Player 10 无为而为
    LCS管理员的工具:Live Communications Server 2005 with Service Pack 1 Resource Kit,比如追踪登陆过程 无为而为
    Ms sql 等待一定时间后取数据
  • 原文地址:https://www.cnblogs.com/hantianwei/p/2065980.html
Copyright © 2020-2023  润新知