把阿拉伯数字转换为中文金额数字:123→壹佰贰拾三圆

把阿拉伯数字转换为中文金额数字:123→壹佰贰拾三圆
static void ZHuan(int num)
        {
            string[] nums = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
            string[] wei = { "", "", "拾", "佰", "仟", "萬", "拾", "佰", "仟", "亿", "拾", "佰", "仟", };
            if (num < 0)
            {
                throw new Exception("num不能为负数!");
            }
            string num1 = Convert.ToString(num);
            int len = num1.Length;
            string tmps, sb;
            sb = "";
            int i;
            for ( i= 1; i <= len; i++)
            {
                tmps = num1.Substring(len - i, 1);
                //sb = nums[Int32.Parse(tmps)] + wei[i] + sb;
                sb= string.Concat(nums[Int32.Parse(tmps)] + wei[i], sb);
            }
            sb= sb.Replace("零拾", "零").Replace("零佰", "零").Replace("零仟", "零");
            for (i = 1; i <= 6; i++)
            {
                sb = sb.Replace("零零", "零");
            }
            sb=sb.Replace("零萬", "萬").Replace("零億", "億").Replace("零零", "零");
            sb += "圆整";
            sb = sb.Replace("零圆", "圆");
            Console.WriteLine(sb);

        }

posted @ 2017-12-30 12:03  米斯特唐  阅读(500)  评论(0编辑  收藏  举报