C# .NET 数字转换为中文大写方法
2021-06-25 21:02
标签:style cte else continue money sub toc list res 数字转换为中文大写方法 例如: int num = 725; string result=MoneyToCharacter(num); result输出结果为“柒佰叁拾伍元整” 转载请注明出处,谢谢! C# .NET 数字转换为中文大写方法 标签:style cte else continue money sub toc list res 原文地址:https://www.cnblogs.com/guangfangxiaokeai/p/14927724.html 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 Liststring> Num = new Liststring>();
12 Liststring> A = new Liststring>();
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 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 }