一个强大的人民币大写转换的正则表达式

static string ConvertToChinese(double dNum)
{
string tmps = dNum.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 str = Regex.Replace(tmps, @"((?<=-|^)[^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(str, ".", m => "负元空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟萬億兆京垓秭穰"[m.Value[0] - ‘-‘].ToString());
}

时间: 2024-08-11 22:02:08

一个强大的人民币大写转换的正则表达式的相关文章

FastReport调用Delphi中的人民币大写转换自定义函数

FastReport调用Delphi中的人民币大写转换自定义函数 FastReport调用Delphi中的人民币大写转换自定义函数 function TJzpzEdit1.MoneyCn(mmje: Double): string; const s1: string = '零壹贰叁肆伍陆柒捌玖'; s2: string = '分角元拾佰仟万拾佰仟亿拾佰仟万'; function StrTran(const S, s1, s2: string): string; begin Result := S

人民币 大写转换

public class NumberData { /**-人民币 大写转换 * * @param num ----要转化的数字 * @return */ public static String makeUpperCaseSum(String numStr) { String isNeg = "";//正或者负 double num = Double.parseDouble(numStr); if (num < 0) { num *= -1; isNeg = "负&q

万亿级人民币大写精准转换

近期因工程需要实现人民币大写转换,本来想这已经是一个古老的话题了,互联网上应当有成熟的答案,但是没想到,下载了十来个范例,没有一个令人满意.有些点击数万次的范例,确糟糕的难以想象.一个看似简单的问题,其实并不简单,因此,不得不花两天时间,对这个小小的问题作了深入的研究,设计了数个算法,最后只保留了一个方法. 实现类cn.jadepool.util.CastRMB,支持亿万元级人民币大写的精准转换.源代码已经打包在jadepool-1-2-GBK.zip资源文件中,可以通过以下链接http://d

Java实现人民币大写精讲

想要实现人民币大写,在发票等场景中使用?? 1234.56显示为:壹仟贰佰叁拾肆元伍角陆分,那就往下看看吧! 本程序可以实现 0 到 9999 9999 9999.994 以内的人民币大写转换,精确到分 经典测试数据: 0 希望转换出来的结果为: 零元零角零分 1234 希望转换出来的结果为: 壹仟贰佰叁拾肆元零角零分 9999 希望转换出来的结果为: 玖仟玖佰玖拾玖元零角零分 1234.5 希望转换出来的结果为: 壹仟贰佰叁拾肆元伍角零分 1234.9 希望转换出来的结果为: 壹仟贰佰叁拾肆元

js 将数字转换成人民币大写的方法

//将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' ]; var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ]; var IsNum = Number(n); if (!isNaN(IsNum)) { var hea

ORACLE数字转换人民币大写

ORACLE数字转换人民币大写     示例.   数字                        :            183066999230.68 人民币大写            :            壹仟捌佰参拾亿零陆仟陆佰玖拾玖万玖仟贰佰参拾圆陆角捌分   数字                        :            999900000000 人民币大写            :            玖仟玖佰玖拾玖亿圆整     Step 1.  Cre

java 将一个正整数翻译成人民币大写的读法

程序如下: 1 import java.lang.StringBuffer; 2 /** 3 给定一个浮点数,将其装换成人民币大写的读法 4 88.5:捌十捌元零伍角 5 */ 6 public class Num2Rmb 7 { 8 private String[] hanArr={"零","壹","贰","叁","肆","伍","陆","柒",

NET 人民币大写

/***** HongShijin** [email protected]** 2009-3-15 10:13:00.00000** text/C#***/ /// <summary> /// 转换人民币大写 /// </summary> /// <param name="input">数字输入</param>  /// <returns>大写金额</returns> public static string To

一个强大的Java开源遥感处理软件(库)---Beam

1.Beam简介 为了在Hadoop中可以序列化HDF文件,在各种搜索之后,无意中发现了一个强大的Java开源软件,它就是Beam. 对于从事遥感的研究者来说,可以通过安装Beam,将它当成一个强大开源的遥感处理软件使用.虽然没有envi那么好用,还马马虎虎过得去.至少安装Beam,不用授权文件去破解~ 对于遥感软件开发人员来说,Beam的库简直一大利器!!! 用Java实现什么重投影.波段运算.主成分分析.图像裁剪.图像镶嵌,创建直方图,五花八门.各式各样.繁简不一的遥感操作,对它来说都是一碟