牛牛牛!正则阿拉伯数字变中国大写
发布时间:2020-12-14 02:19:50 所属栏目:百科 来源:网络整理
导读: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" );
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
(Matchm){
return
"负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟萬億兆京垓秭穰"
[m.Value[0]-
'-'
].ToString();});
}
static
void
Main()
{
Randomr=
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:贰仟零陆拾叁萬玖仟陆佰零玖元肆角肆分
*/
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |