正则不会。求改。很简单的。呵呵呵

快乐的小二兔 2012-05-28 10:17:07

public string GetMoney(double dd)
{
string s = dd.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}");
string value = Regex.Replace(d, ".", delegate(Match m)
{ return "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万億兆京垓秭穰"[m.Value[0] - '-'].ToString(); });
return value;
}

这个正则现在想改成
如果是整数钱 就在后面加一个“整”字
例如 一百元整
不是整数的钱 就不写整 例如 一百零一元一角
...全文
146 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐的小二兔 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

C# code

public string GetMoney(double dd)
{
string s = dd.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-……
[/Quote]
呵呵我理解错了。对不起哈。一千一百元整
newxdlysk 2012-05-28
  • 打赏
  • 举报
回复

public string GetMoney(double dd)
{
string s = dd.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}");
string value = Regex.Replace(d, ".",m=> "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万億兆京垓秭穰"[m.Value[0] - '-'].ToString());
return dd%100==0?value+"整":value;//整百就整
}
快乐的小二兔 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

那就是匹配以百千万以上单位结尾的钱了?
比如一百,二百,一万一千,一亿一千万
还是只包含一个单位的
比如一万,一百万,一亿
[/Quote]
元也可以个。。
newxdlysk 2012-05-28
  • 打赏
  • 举报
回复
那就是匹配以百千万以上单位结尾的钱了?
比如一百,二百,一万一千,一亿一千万
还是只包含一个单位的
比如一万,一百万,一亿
快乐的小二兔 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

引用 4 楼 的回复:

引用 3 楼 的回复:

小苍,也开始学正则了。
你可以以元作为结束来匹配整数钱和非整数钱
判断value==整数?value+“整”:value

不见得。一百零一元不也是元几位的么
在我看来 一百零一元 是整钱,你定义的挣钱是整百元的吗?
[/Quote]
您看官方的单子上不都是整钱数是 后面带个整字么?
壹仟元整,您看过 以前领一百元整的么
xiedwxy0625 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:

小苍,也开始学正则了。
你可以以元作为结束来匹配整数钱和非整数钱
判断value==整数?value+“整”:value

不见得。一百零一元不也是元几位的么
[/Quote]在我看来 一百零一元 是整钱,你定义的挣钱是整百元的吗?
快乐的小二兔 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

引用 3 楼 的回复:

小苍,也开始学正则了。
你可以以元作为结束来匹配整数钱和非整数钱
判断value==整数?value+“整”:value

不见得。一百零一元不也是元几位的么

一百零一元不是整钱?那你所谓的整钱是。。。
[/Quote]
一百元整
  • 打赏
  • 举报
回复
除了 找不开的钱 都是整钱 ...
EnForGrass 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:

小苍,也开始学正则了。
你可以以元作为结束来匹配整数钱和非整数钱
判断value==整数?value+“整”:value

不见得。一百零一元不也是元几位的么
[/Quote]
一百零一元不是整钱?那你所谓的整钱是。。。
快乐的小二兔 2012-05-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

小苍,也开始学正则了。
你可以以元作为结束来匹配整数钱和非整数钱
判断value==整数?value+“整”:value
[/Quote]
不见得。一百零一元不也是元几位的么
EnForGrass 2012-05-28
  • 打赏
  • 举报
回复
小苍,也开始学正则了。
你可以以元作为结束来匹配整数钱和非整数钱
判断value==整数?value+“整”:value
q107770540 2012-05-28
  • 打赏
  • 举报
回复

public string GetMoney(double dd)
{
string s = dd.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}");
string value = Regex.Replace(d, ".",m=> "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万億兆京垓秭穰"[m.Value[0] - '-'].ToString());
return dd==Convert.ToInt32(dd)?value+"整":value;
}
bdmh 2012-05-28
  • 打赏
  • 举报
回复
那就 m.Value + “整” 不就行了,当然是不是整钱,这个你必须要知道

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧