Skip to content

Instantly share code, notes, and snippets.

@camark
Created December 9, 2016 03:10
Show Gist options
  • Select an option

  • Save camark/5bb7932794881b188093c3a92bae8413 to your computer and use it in GitHub Desktop.

Select an option

Save camark/5bb7932794881b188093c3a92bae8413 to your computer and use it in GitHub Desktop.
人民币转换-c#
作者:苏博
链接:https://www.zhihu.com/question/37926400/answer/74142424
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
public static String ConvertToChinese(Decimal number)
{
var s = number.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");
var 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}");
var r = Regex.Replace(d, ".", m => "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万亿兆京垓秭穰"[m.Value[0] - '-'].ToString());
if (r.EndsWith("元"))//这两行是我加的
r += "整";//感觉我拉低了前边代码的逼格……很惭愧
return r;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment