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

2021-06-25 21:02

阅读:341

标签: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     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 }

 

转载请注明出处,谢谢!

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

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

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


评论


亲,登录后才可以留言!