zoukankan      html  css  js  c++  java
  • 将小写阿拉伯数字转换成大写的汉字,

        #region 小写转大写
           
                /// <summary>    ///
                /// 金额转为大写金额   
                ///  </summary>   
                /// <param name="LowerMoney"></param>   <returns></returns>  
            public static string MoneyToChinese(decimal NubMoney)
            {
               string LowerMoney = NubMoney.ToString();
                string functionReturnValue = null;
                bool IsNegative = false;
                // 是否是负数  
                if (LowerMoney.Trim().Substring(0, 1) == "-")
                {        // 是负数则先转为正数    
                    LowerMoney = LowerMoney.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    
                LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
                if (LowerMoney.IndexOf(".") > 0)
                {
                    if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
                    { LowerMoney = LowerMoney + "0"; }
                }
                else
                {
                    LowerMoney = LowerMoney + ".00";
                } strLower = LowerMoney; 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)
                    {
                        case 1: strUpart = strUpart + "分";
                            break;
                        case 2: strUpart = strUpart + "角"; break;
                        case 3:
                            strUpart = strUpart + ""; break;
                        case 4: strUpart = strUpart + "";
                            break;
                        case 5: strUpart = strUpart + "拾"; break;
                        case 6:
                            strUpart = strUpart + "佰"; break;
                        case 7: strUpart = strUpart + "仟";
                            break;
                        case 8: strUpart = strUpart + "万"; break;
                        case 9:
                            strUpart = strUpart + "拾"; break;
                        case 10:
                            strUpart = strUpart + "佰"; break;
                        case 11:
                            strUpart = strUpart + "仟"; break;
                        case 12:
                            strUpart = strUpart + "亿"; break;
                        case 13:
                            strUpart = strUpart + "拾"; break;
                        case 14:
                            strUpart = strUpart + "佰"; break;
                        case 15:
                            strUpart = strUpart + "仟"; break;
                        case 16:
                            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; }
            }

            /// <summary>    ///
            /// 金额转为大写金额   
            ///  </summary>   
            /// <param name="LowerMoney"></param>   <returns></returns>  
            public static string NumberToChinese(decimal NubMoney)
            {
                string LowerMoney = NubMoney.ToString();
                string functionReturnValue = null;
                bool IsNegative = false;
                // 是否是负数  
                if (LowerMoney.Trim().Substring(0, 1) == "-")
                {        // 是负数则先转为正数    
                    LowerMoney = LowerMoney.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    
                LowerMoney = Math.Round(double.Parse(LowerMoney), 2).ToString();
                if (LowerMoney.IndexOf(".") > 0)
                {
                    if (LowerMoney.IndexOf(".") == LowerMoney.Length - 2)
                    { LowerMoney = LowerMoney + "0"; }
                }
                else
                {
                    LowerMoney = LowerMoney + ".00";
                } strLower = LowerMoney; 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)
                    {
                        case 1: strUpart = strUpart + "";
                            break;
                        case 2: strUpart = strUpart + ""; break;
                        case 3:
                            strUpart = strUpart + ""; break;
                        case 4: strUpart = strUpart + "";
                            break;
                        case 5: strUpart = strUpart + "拾"; break;
                        case 6:
                            strUpart = strUpart + "佰"; break;
                        case 7: strUpart = strUpart + "仟";
                            break;
                        case 8: strUpart = strUpart + "万"; break;
                        case 9:
                            strUpart = strUpart + "拾"; break;
                        case 10:
                            strUpart = strUpart + "佰"; break;
                        case 11:
                            strUpart = strUpart + "仟"; break;
                        case 12:
                            strUpart = strUpart + "亿"; break;
                        case 13:
                            strUpart = strUpart + "拾"; break;
                        case 14:
                            strUpart = strUpart + "佰"; break;
                        case 15:
                            strUpart = strUpart + "仟"; break;
                        case 16:
                            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("零万", "万");
                if (strUpper.IndexOf("一亿万") > -1)
                    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 = "零圆整";
                }
                if (strUpper.LastIndexOf("零") > -1) {
                    strUpper = strUpper.Substring(0, strUpper.Length - 1);
                }
                functionReturnValue = strUpper;
                if (IsNegative == true)
                {
                    return "负" + functionReturnValue;
                }

                else { return functionReturnValue; }
            }
            #endregion

  • 相关阅读:
    递归调用简单的讲解
    有关杭电acm问题的分类
    【jquery】切换标题与内容/点击后动态切换当前状态
    将数组某键值抽出作为新数组
    table表格制作
    如何导入大sql文件到mysql数据库
    二维数组按照某一键值进行排序
    利用PHP输出某一目录所有文件
    php结合js动态获取空间时间
    ie6不支持minheight的解决方案
  • 原文地址:https://www.cnblogs.com/BensonHai/p/6063244.html
Copyright © 2011-2022 走看看