把123转换成一百二十三 Alec

public String ConverUpperNum(int number)
        {
            String n = number.ToString();
            String[] num = { "", "", "", "", "", "", "", "", "" };
            String[] dw = { "", "", "", "", "十万", "百万", "千万", "亿" };
            var str = "";
            if (n == "0")
            { return ""; }
            bool remarks = false;
            for (var i = 0; i < n.Length; i++)
            {
                if (n.Substring(i, 1) != "0")
                {
                    str += num[Convert.ToInt32(n.Substring(i, 1)) - 1];
                    remarks = false;
                }
                if (!remarks)
                {
                    if (n.Substring(i, 1) == "0" && n.Length > i + 1)
                        remarks = true;
                }
                if (remarks)
                {
                    if(!str.EndsWith("")) 
                        str += "";
                    n = n.Substring(i + 1);
                    i = -1;
                }
                else
                {
                    if (n.Length > i + 1)
                        str += dw[n.Length - i - 2];
                }
            }
            if (str.StartsWith("一十"))
                str = str.Substring(1);
            if (str.EndsWith(""))
                str = str.Remove(str.Length-1);
            return str;
        }
原文地址:https://www.cnblogs.com/yinluhui0229/p/2583801.html