asp.net 如何实现阿拉伯数字转大写金额?

解决方案 »

  1.   

    code=C#] string[] moneys ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};        string[] powers ={"拾","佰","仟","万","拾","佰","仟","亿"};
            string Money2Chinese(long money)
            {
                string result = Money2Chinese(money, 0);
                result = Regex.Replace(result, "零[拾佰仟]", "零");
                result = result.Replace("零万", "万");
                result = Regex.Replace(result, "(零)+", "零");//去除重复零
                if (result.EndsWith("零"))
                    result = result.Substring(0, result.Length - 1);            return result + "元整";
            }        string Money2Chinese(long money, int power)
            {
                long yu = money % 10;
                long shang = money / 10;
                if (shang == 0)
                {
                    return moneys[yu];
                }
                else
                {
                    if (power > powers.Length - 1)
                        power = 0;                string str = Money2Chinese(shang, power + 1) + powers[power] + moneys[yu];
                    return str;            }
            }[[/code]
      

  2.   

    public string ConvertSum(string str)//金额大写
        {
            if (!IsPositveDecimal(str))
                return "输入的不是正数字!";
            if (Double.Parse(str) > 999999999999.99)
                return "数字太大,无法换算,请输入一万亿元以下的金额";
            char[] ch = new char[1];
            ch[0] = '.'; //小数点 
            string[] splitstr = null; //定义按小数点分割后的字符串数组 
            splitstr = str.Split(ch[0]);//按小数点分割字符串 
            if (splitstr.Length == 1) //只有整数部分 
                return ConvertData(str) + "圆整";
            else //有小数部分 
            {
                string rstr;
                rstr = ConvertData(splitstr[0]) + "圆";//转换整数部分 
                rstr += ConvertXiaoShu(splitstr[1]);//转换小数部分 
                return rstr;
            }
        }
      

  3.   

    一堆一堆的。http://blog.sina.com.cn/s/blog_4af2201a01000aoa.html