1. 数字金额转中文
/// <summary>
/// 单个数字对应的中文
/// </summary>
/// <param name="n">单个数字</param>
/// <returns>中文数字</returns>
public static char GetUpperDigit(char n)
{
if (false==char.IsDigit(n))
{
return n;
}
switch (n)
{
case '1':
return '壹';
case '2':
return '贰';
case '3':
return '叁';
case '4':
return '肆';
case '5':
return '伍';
case '6':
return '陆';
case '7':
return '柒';
case '8':
return '捌';
case '9':
return '玖';
default:
return '零';
}
}
/// <summary>
/// 获取中文数字
/// </summary>
/// <param name="digits">数字串(整数,亿以内)</param>
/// <returns></returns>
public static string GetUpperDigits(string digits)
{
var sb = new StringBuilder();
for (int i = 0; i < digits.Length; i++)
{
char digitChar = digits[i];
if (digitChar != '0'
|| digits.Length == 1
|| (i - 1 >= 0 && digits[i - 1] != '0' && i + 1 < digits.Length && digits[i + 1] != '0'))
{
sb.Append(GetUpperDigit(digitChar));
}
if (digitChar == '0')
{
continue;
}
switch ((digits.Length - i - 1) % 6)
{
case 1:
sb.Append("拾");
break;
case 2:
sb.Append("佰");
break;
case 3:
sb.Append("仟");
break;
case 4:
sb.Append("万");
break;
case 5:
sb.Append("亿");
break;
}
}
return sb.ToString();
}
2.