牛牛牛!正则阿拉伯数字变中国大写

来源:互联网 发布:传智播客java百度云 编辑:程序博客网 时间:2024/06/05 11:02
using System;
using System.Text.RegularExpressions;
 
class Program
{
  // 把阿拉伯数字的金额转换为中文大写数字
  static string ConvertToChinese(double x)
  {
    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, "."delegate(Match m) { return "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟萬億兆京垓秭穰"[m.Value[0] - '-'].ToString(); });
  }
 
  static void Main()
  {
    Random r = new Random();
    for (int i = 0; i < 10; i++)
    {
      double x = r.Next() / 100.0;
      Console.WriteLine("{0,14:N2}: {1}", x, ConvertToChinese(x));
    }
  }
}
/* 可能的输出:
  5,607,400.68: 伍佰陆拾萬柒仟肆佰元陆角捌分
  2,017,723.33: 贰佰零壹萬柒仟柒佰贰拾叁元叁角叁分
    751,181.17: 柒拾伍萬壹仟壹佰捌拾壹元壹角柒分
  7,849,851.53: 柒佰捌拾肆萬玖仟捌佰伍拾壹元伍角叁分
  2,629,143.90: 贰佰陆拾贰萬玖仟壹佰肆拾叁元玖角
 13,461,629.68: 壹仟叁佰肆拾陆萬壹仟陆佰贰拾玖元陆角捌分
  4,594,391.16: 肆佰伍拾玖萬肆仟叁佰玖拾壹元壹角陆分
 13,046,560.60: 壹仟叁佰零肆萬陆仟伍佰陆拾元陆角
 13,041,371.21: 壹仟叁佰零肆萬壹仟叁佰柒拾壹元贰角壹分
 20,639,609.44: 贰仟零陆拾叁萬玖仟陆佰零玖元肆角肆分
*/
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 鸟之羽任务失败怎么办 巫师3没血没药怎么办 荣威rx5灯光不亮怎么办 点滴打没了回血怎么办 加了低标号的油怎么办 别克车钥匙丢了怎么办 霜子哀伤断了怎么办 侧车窗外有雨水怎么办 昂科威15t变速箱异响怎么办 别克昂科拉一公里9毛怎么办? 雷诺科雷傲车钥匙丢了怎么办 奥迪a6l烧机油了怎么办 卡地亚手镯刮花怎么办 卡地亚戒指花了怎么办 手表摔了不走了怎么办 ck手表表扣很难打开怎么办 小天才泡了水怎么办 小天才手表掉水里了怎么办 小天才电话手表进水了怎么办 小天才手表进水了怎么办 小天才电话手表丢了怎么办 小天才电话手表黑屏怎么办 安全守护注册码忘记了怎么办 儿童安全锁的门打不开怎么办 守护宝老年机打不开了怎么办 小米电话手表坏了怎么办 小米手表带坏了怎么办 小米电话手表屏幕坏了怎么办 雷诺梅甘娜06款系统错乱怎么办 轿车碰了一个坑怎么办 车子卖了没过户怎么办 9岁儿童肠胃痉挛怎么办 鹿角胶水放多了怎么办 打胰岛素血糖还是高怎么办 血糖高打胰岛素降不下去怎么办 儿童低烧37度1怎么办 小孩发烧一会冷一会热怎么办 月子里得的风湿怎么办 腰窝中间凸起肉怎么办 线雕后一个月脸发红肿胀怎么办 雷诺氏病手指僵硬疼怎么办