码迷,mamicode.com
首页 > Windows程序 > 详细

C# .NET 数字转换为中文大写方法

时间:2021-06-25 16:33:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:style   cte   else   continue   money   sub   toc   list   res   

数字转换为中文大写方法

例如:

int num = 725;

string result=MoneyToCharacter(num);

result输出结果为“柒佰叁拾伍元整”

 

 1 private string MoneyToCharacter(decimal Money)
 2 {
 3     string temp = "";
 4     string resu = "";
 5     string jf = "";
 6     int j = 0;
 7     int j_1 = 0;
 8     int jiao = 0;
 9     int fen = 0;
10     int len = 0;
11     List<string> Num = new List<string>();
12     List<string> A = new List<string>();
13     Num.Add("零");
14     Num.Add("壹");
15     Num.Add("贰");
16     Num.Add("叁");
17     Num.Add("肆");
18     Num.Add("伍");
19     Num.Add("陆");
20     Num.Add("柒");
21     Num.Add("捌");
22     Num.Add("玖");
23     A.Add("分");
24     A.Add("角");
25     A.Add("元");
26     A.Add("拾");
27     A.Add("佰");
28     A.Add("仟");
29     A.Add("萬");
30     A.Add("拾");
31     A.Add("佰");
32     A.Add("仟");
33     A.Add("億");
34     A.Add("拾");
35     A.Add("佰");
36     A.Add("仟");
37     temp = ((Math.Truncate(Math.Round(Money * 100))).ToString()).Trim();
38     len = temp.Length;
39     resu = "";
40     if (len > 13 || len == 0)
41         return "";
42     jiao = Convert.ToInt32(temp.Substring(len - 2, 1));
43     fen = Convert.ToInt32(temp.Substring(len - 1, 1));
44     if (fen == 0)
45     {
46         if (jiao == 0)
47             jf = "整";
48         else
49             jf = Num[jiao] + "角整";
50     }
51     else
52     {
53         if (jiao == 0)
54             jf = "零" + Num[fen] + "分";
55         else
56             jf = Num[jiao] + "角" + Num[fen] + "分";
57     }
58     for (int i = 0; i < len - 2; i++)
59     {
60         j = Convert.ToInt32(temp.Substring(i, 1));//取第一位数字
61         if (j == 0)
62         {
63             j_1 = Convert.ToInt32(temp.Substring(i + 1, 1));//取第二位数字
64             if (j_1 == 0)
65                 continue;
66             if (A[len - i - 1] == "萬" || A[len - i - 1] == "億")
67                 resu = resu + A[len - i - 1] + Num[j];
68             else
69             {
70                 if (A[len - i - 1] == "元")
71                     resu = resu + "元";
72                 else
73                     resu = resu + Num[j];
74             }
75         }
76         else
77             resu = resu + Num[j] + A[len - i - 1];
78     }
79     return resu + jf;
80 }

 

转载请注明出处,谢谢!

C# .NET 数字转换为中文大写方法

标签:style   cte   else   continue   money   sub   toc   list   res   

原文地址:https://www.cnblogs.com/guangfangxiaokeai/p/14927724.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!