zoukankan      html  css  js  c++  java
  • 货币转大写两种方法

    第一种

            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;
            }
  • 相关阅读:
    wpf中显示HTML(转自http://steeven.cnblogs.com/archive/2006/06/12/424258.html)
    【msdn wpf forum翻译】TextBox中文本 中对齐 的方法
    【msdn wpf forum翻译】TextBlock等类型的默认样式(implicit style)为何有时不起作用?
    《Applications=Code+Markup》读书笔记 1(第一章 初识Application和Window)
    sql 分页
    Api
    快钱接口
    c#经典面试题
    static/const/readonly
    静态构造函数和静态类
  • 原文地址:https://www.cnblogs.com/hantianwei/p/2065980.html
Copyright © 2011-2022 走看看