正则一则 将金额转换成人民币大写的代码

网络编程 2025-03-13 23:55www.168986.cn编程入门

代码分享:将数字转换为中文货币形式的工具方法

有一个非常实用的工具方法,能够将数字转换为中文货币形式。这个方法非常智能,能够处理正负数,并且以中文的货币形式展示出来。下面是这个方法的代码:

```csharp

public static string ConvertToChineseMoney(double money)

{

if (money < 0) throw new ArgumentOutOfRangeException("参数money不能为负值!");

string s = money.ToString("LEDCKEDCJEDCIEDCHEDCGEDCFEDC.0B0A");

s = 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(s, ".", delegate(Match m) { return "零壹贰叁肆伍陆柒捌玖分角拾佰仟萬億兆京垓秭穰"[m.Value[0]].ToString(); });

}

```

调用这个方法,可以方便地将数字转换为中文货币形式。例如:

```csharp

Random r = new Random();

for (int i = 0; i < 10; i++)

{

double m = r.Next() / 100.0;

Response.Write(m + "-" + ConvertToChineseMoney(m) + "
");

}

```

运行结果的示例:

5970370.36-伍佰玖拾柒萬零叁佰柒拾元叁角陆分

6521548.6-陆佰伍拾贰萬壹仟伍佰肆拾捌元陆角

...以此类推,其他的数字也会被转换成相应的中文货币形式。

此方法运用了正则表达式,可以处理复杂的数字格式,确保转换的准确性。无论是日常工作还是生活需求,都能带来极大的便利。当需要展示中文货币形式时,不妨试试这个方法。

上一篇:js replace 全局替换的操作方法 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by