private static string Nums = "零壹贰叁肆伍陆柒捌玖";
private static string Units = "仟佰拾万仟佰拾亿仟佰拾万仟佰拾元角分厘";
string valueStr = value.ToString("0000000000000000.000");
valueStr = valueStr.Remove(valueStr.IndexOf('.'), 1);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < valueStr.Length; i++)
{
if (valueStr[i]!='0')
{
sb.Append(Nums[valueStr[i] - '0']);
sb.Append(Units[i]);
}
else if (i>0&&valueStr[i-1]!='0')
{
sb.Append(Nums[valueStr[i] - '0']);
}
}
return sb.ToString().Trim("零".ToCharArray());
string s = x.ToString("#L#E#D#C#K#E#D#C#J#E#D#C#I#E#D#C#H#E#D#C#G#E#D#C#F#E#D#C#.0B0A");
string d = Regex.Replace(s, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L\.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[\.]|$))))", "${b}${z}");
return Regex.Replace(d, ".", m => "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟萬億兆京垓秭穰"[m.Value[0] - '-'].ToString());
C#数字转汉字大写金额
最新推荐文章于 2022-06-15 18:14:46 发布