1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 正则也很牛 把阿拉伯数字的金额转换为中文大写数字

正则也很牛 把阿拉伯数字的金额转换为中文大写数字

时间:2021-01-10 09:30:58

相关推荐

正则也很牛 把阿拉伯数字的金额转换为中文大写数字

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: 贰仟零陆拾叁萬玖仟陆佰零玖元肆角肆分

*/

/u/1126/14/636c5e88-2297-4ce6-bf40-e6427c2799a4.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。