把数字转换为大写汉字

#region 公共方法
        public static string  ConvertToChineseNum(double inputString)
        {
            string numList = "零壹贰叁肆伍陆柒捌玖";
            string rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万";
            double number = 0;
            string tempOutString = null;

            try
            {
                number = inputString;
            }
            catch
            {
                return "传入参数非数字!";
            }

            if (number > 9999999999999.99)
                return "超出范围的人民币值";

            //将小数转化为整数字符串
            string tempNumberString = Convert.ToInt64(number * 100).ToString();
            int tempNmberLength = tempNumberString.Length;
            int i = 0;
            while (i < tempNmberLength)
            {
                int oneNumber = Int32.Parse(tempNumberString.Substring(i, 1));
                string oneNumberChar = numList.Substring(oneNumber, 1);
                string oneNumberUnit = rmbList.Substring(tempNmberLength - i - 1, 1);
                if (oneNumberChar != "零")
                    tempOutString += oneNumberChar + oneNumberUnit;
                else
                {
                    if (oneNumberUnit == "亿" || oneNumberUnit == "万" || oneNumberUnit == "元" || oneNumberUnit == "零")
                    {
                        while (tempOutString.EndsWith("零"))
                        {
                            tempOutString = tempOutString.Substring(0, tempOutString.Length - 1);
                        }

                    }
                    if (oneNumberUnit == "亿" || (oneNumberUnit == "万" && !tempOutString.EndsWith("亿")) || oneNumberUnit == "元")
                    {
                        tempOutString += oneNumberUnit;
                    }
                    else
                    {
                        bool tempEnd = tempOutString.EndsWith("亿");
                        bool zeroEnd = tempOutString.EndsWith("零");
                        if (tempOutString.Length > 1)
                        {
                            bool zeroStart = tempOutString.Substring(tempOutString.Length - 2, 2).StartsWith("零");
                            if (!zeroEnd && (zeroStart || !tempEnd))
                                tempOutString += oneNumberChar;
                        }
                        else
                        {
                            if (!zeroEnd && !tempEnd)
                                tempOutString += oneNumberChar;
                        }
                    }
                }
                i += 1;
            }

            while (tempOutString.EndsWith("零"))
            {
                tempOutString = tempOutString.Substring(0, tempOutString.Length - 1);
            }

            while (tempOutString.EndsWith("元"))
            {
                tempOutString = tempOutString + "整";
            }

            return tempOutString;


        }
        #endregion

原文地址:https://www.cnblogs.com/haofaner/p/3567373.html