c#的输入数字自动转为人民币大写的方法
public static string ConvertRMB(double amount)
{
string[] units = { "", "拾", "佰", "仟", "万", "拾万", "佰万", "仟万", "亿", "拾亿", "佰亿", "仟亿" };
string[] digits = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
string[] rmb = { "元", "角", "分" };
string result = "";
int i = 0;
while (amount > 0)
{
int digit = (int)(amount % 10);
if (digit > 0)
{
result = digits[digit] + units[i] + result;
}
else
{
if (result.Length > 0 && result[0] != '零')
{
result = digits[digit] + result;
}
}
amount /= 10;
i++;
}
if (result.Length == 0)
{
result = "零元整";
}
else
{
result += rmb[0];
if (result[0] == '壹' && result.Length > 1)
{
result = result.Substring(1);
}
for (int j = 1; j < rmb.Length; j++)
{
int digit = (int)(amount * 10) % 10;
result += digits[digit] + rmb[j];
amount *= 10;
}
if (result.EndsWith("零角"))
{
result = result.Substring(0, result.Length - 2);
}
if (result.EndsWith("零分"))
{
result = result.Substring(0, result.Length - 2);
}
if (result.EndsWith("零元"))
{
result = result.Substring(0, result.Length - 2) + "整";
}
}
return result;
}