欢迎光临
我的个人博客网站

简单实用算法——人民币金额大写转换

变量定义:

  • number:待转换人民币金额

注:人民币金额一般为整数,可为负。

算法代码(C#):

//人民币金额大写转换 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");     s = s.Replace("0B0A", "@");     var d = Regex.Replace(s, @"[A-Z][A-Z]", "");     var r = Regex.Replace(d, ".", m => "负元空零壹贰叁肆伍陆柒捌玖空空空空空空整分角拾佰仟万亿兆京垓秭穰"[m.Value[0] - '-'].ToString());                 return r; } 

算法实现:

  1. 利用格式化输出把数字中间按顺序插入大写字母。
  2. 把相邻的大写字母替换为空字符。
  3. 最后把数字和字母替换成中文(字母替换为数字的十进制数位的中文名称)。

注:核心思路是把ASCII码值相减得到中文字符串中对应的字符索引

相关文章:
你见过哪些令你瞠目结舌的C#代码?——知乎

赞(0) 打赏
未经允许不得转载:张拓的天空 » 简单实用算法——人民币金额大写转换
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

专业的IT技术经验分享 更专业 更方便

联系我们本站主机

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏