zoukankan      html  css  js  c++  java
  • 数值转大写人民币

    类似的小功能网上有很多写法,但关键在于思路。思路决定了代码的精炼,决定了效能。

    1)将12345.6789转为“壹万贰仟叁佰肆拾伍元陆角捌分”

    逻辑:

    第一步)四舍五入取2位小数,然后去掉小数点。

    第二步)循环每个字符,把数字转为对应的大写汉字,并在其后加入单位标识{x}

    第三步)把标识{x}替换为对应的单位

    public string getMoneyUpper(double money)
            {
                string n = money.ToString("#0.00").Replace(".", "");
                string MoneyUpper = "";
                int l = n.Length;
                for (int i = 0; i < n.Length; i++)
                {
                    switch (n[i].ToString())
                    {
                        case "0": MoneyUpper += ""; break;
                        case "1": MoneyUpper += ""; break;
                        case "2": MoneyUpper += ""; break;
                        case "3": MoneyUpper += ""; break;
                        case "4": MoneyUpper += ""; break;
                        case "5": MoneyUpper += ""; break;
                        case "6": MoneyUpper += ""; break;
                        case "7": MoneyUpper += ""; break;
                        case "8": MoneyUpper += ""; break;
                        case "9": MoneyUpper += ""; break;
                        default: break;
                    }
                    MoneyUpper += "{" + l + "}";
                    l--;
                }
    

            MoneyUpper = MoneyUpper.Replace("{1}", "分");
            MoneyUpper = MoneyUpper.Replace("{2}", "角");
            MoneyUpper = MoneyUpper.Replace("{3}", "元");
            MoneyUpper = MoneyUpper.Replace("{4}", "拾");
            MoneyUpper = MoneyUpper.Replace("{5}", "佰");
            MoneyUpper = MoneyUpper.Replace("{6}", "仟");
            MoneyUpper = MoneyUpper.Replace("{7}", "萬");
            MoneyUpper = MoneyUpper.Replace("{8}", "拾");

    return MoneyUpper;
            }

    2)找到12345.6789的第1个位置(从右向左,分开始)的大写汉字

    public static string getCapsMoney(double money,int index)
    {
            string n = money.ToString("#0.00").Replace(".", "");
    
            if (index < n.Length)
            {
                switch (n[n.Length - 1 - index].ToString())
                {
                    case "0": return "";
                    case "1": return "";
                    case "2": return "";
                    case "3": return "";
                    case "4": return "";
                    case "5": return "";
                    case "6": return "";
                    case "7": return "";
                    case "8": return "";
                    case "9": return "";
                    default: return "/";
                }
            }
            else
                return "/";
    }
  • 相关阅读:
    nagios --rhel6.5
    nginx+tomcat+msm(memcached-session-manager)
    化学实验过程中对眼睛的保护
    实验室化学药品取用规则
    物理变化、化学变化、物理性质、化学性质
    windows 下在图片中隐藏文件
    老子《道德经》第六十八章
    linux 3.0.35 内核下 include/linux/compiler.h 关于__iomem
    boa 服务器进行 cgi 测试时出现 400 Bad Request 【已解决】
    linux 内核 arch 目录下处理器体系结构
  • 原文地址:https://www.cnblogs.com/kandyvip/p/4664350.html
Copyright © 2011-2022 走看看