数字金额转换成中文金额(C#实现)
2006-05-26 13:46
495 查看
public static string ConvertNumAmtToChinese(decimal numVal)
{
decimal org = EMSMath.Round(numVal,2);
string orgData = org.ToString();
int length = orgData.Length;
int j = 0;
string ret = string.Empty;
string temp = string.Empty;
//9,123,456,789,123.12
for (int i=length-1;i>=0;i--)
{
temp = "";
j++;
switch (orgData[i])
{
case '.' : temp = "元";
break;
case '0' : temp = "零";
break;
case '1' : temp = "壹";
break;
case '2' : temp = "贰";
break;
case '3' : temp = "叁";
break;
case '4' : temp = "肆";
break;
case '5' : temp = "伍";
break;
case '6' : temp = "陆";
break;
case '7' : temp = "柒";
break;
case '8' : temp = "捌";
break;
case '9' : temp = "玖";
break;
default : break;
}
switch(j)
{
case 1 : temp = temp + "分";
break;
case 2 : temp = temp + "角";
break;
case 3 : temp = temp + "";
break;
case 4 : temp = temp + "";
break;
case 5 : temp = temp + "拾";
break;
case 6 : temp = temp + "佰";
break;
case 7 : temp = temp + "仟";
break;
case 8 : temp = temp + "万";
break;
case 9 : temp = temp + "拾";
break;
case 10 : temp = temp + "佰";
break;
case 11 : temp = temp + "仟";
break;
case 12 : temp = temp + "亿";
break;
case 13 : temp = temp + "拾";
break;
case 14 : temp = temp + "佰";
break;
case 15 : temp = temp + "仟";
break;
case 16 : temp = temp + "万";
break;
default: break;
}
ret = temp + ret;
}
ret = ret.Replace("零拾","零");
ret = ret.Replace("零佰","零");
ret = ret.Replace("零仟","零");
ret = ret.Replace("零零零","零");
ret = ret.Replace("零零","零");
ret = ret.Replace("零角零分","整");
ret = ret.Replace("零分","整");
ret = ret.Replace("零分","整");
ret = ret.Replace("零亿零万零元","亿元");
ret = ret.Replace("亿零万零元","亿元");
ret = ret.Replace("零亿零万","亿");
ret = ret.Replace("零万零元","万元");
ret = ret.Replace("万零元","万元");
ret = ret.Replace("零亿","亿");
ret = ret.Replace("零万","万");
ret = ret.Replace("零元","元");
ret = ret.Replace("零零","零");
return ret;
}
{
decimal org = EMSMath.Round(numVal,2);
string orgData = org.ToString();
int length = orgData.Length;
int j = 0;
string ret = string.Empty;
string temp = string.Empty;
//9,123,456,789,123.12
for (int i=length-1;i>=0;i--)
{
temp = "";
j++;
switch (orgData[i])
{
case '.' : temp = "元";
break;
case '0' : temp = "零";
break;
case '1' : temp = "壹";
break;
case '2' : temp = "贰";
break;
case '3' : temp = "叁";
break;
case '4' : temp = "肆";
break;
case '5' : temp = "伍";
break;
case '6' : temp = "陆";
break;
case '7' : temp = "柒";
break;
case '8' : temp = "捌";
break;
case '9' : temp = "玖";
break;
default : break;
}
switch(j)
{
case 1 : temp = temp + "分";
break;
case 2 : temp = temp + "角";
break;
case 3 : temp = temp + "";
break;
case 4 : temp = temp + "";
break;
case 5 : temp = temp + "拾";
break;
case 6 : temp = temp + "佰";
break;
case 7 : temp = temp + "仟";
break;
case 8 : temp = temp + "万";
break;
case 9 : temp = temp + "拾";
break;
case 10 : temp = temp + "佰";
break;
case 11 : temp = temp + "仟";
break;
case 12 : temp = temp + "亿";
break;
case 13 : temp = temp + "拾";
break;
case 14 : temp = temp + "佰";
break;
case 15 : temp = temp + "仟";
break;
case 16 : temp = temp + "万";
break;
default: break;
}
ret = temp + ret;
}
ret = ret.Replace("零拾","零");
ret = ret.Replace("零佰","零");
ret = ret.Replace("零仟","零");
ret = ret.Replace("零零零","零");
ret = ret.Replace("零零","零");
ret = ret.Replace("零角零分","整");
ret = ret.Replace("零分","整");
ret = ret.Replace("零分","整");
ret = ret.Replace("零亿零万零元","亿元");
ret = ret.Replace("亿零万零元","亿元");
ret = ret.Replace("零亿零万","亿");
ret = ret.Replace("零万零元","万元");
ret = ret.Replace("万零元","万元");
ret = ret.Replace("零亿","亿");
ret = ret.Replace("零万","万");
ret = ret.Replace("零元","元");
ret = ret.Replace("零零","零");
return ret;
}
相关文章推荐
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
- C# 实现将阿拉伯数字转换成中文大写金额
- C#实现的【阿拉伯数字转换成中文大写金额】
- C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)
- Java中实现数字金额到中文大写字符的转换!!
- java实现数字金额转换中文大写金额
- 使用C#实现阿拉伯数字到大写中文的转换-第二种方法
- 【原】c#实现数字金额转换成大写金额
- C#阿拉伯数字金额转换为中文大写金额
- 转 .Net/C#/VB/T-SQL/Java/Script 实现: 将天文数字转换成中文大写 (2000 年前的思路,打劫的,一点儿技术含量都没有)
- Java中实现数字金额到中文大写字符的转换!!
- PHP中实现数字金额到中文大写字符的转换
- Java中实现数字金额到中文大写字符的转换!! 选择自 netfalcon 的 Blog
- C#实现金额转换成中文大写金额
- C#写的将阿拉伯数字转换成中文大写金额代码
- 数字金额转换成中文金额(数据库实现)
- 中文转换成数字金额C#【转】
- 将天文数字转换成中文大写(.Net/C#/VB/T-SQL/Java 实现)
- 使用C#实现阿拉伯数字到大写中文的转换