C# 阿拉伯数字转中文大写,阿拉伯数字转金额
2013-06-09 16:33
393 查看
ToRMB(12345.12) 返回: 壹万贰仟叁佰肆拾伍元壹角贰分
ToRMB(12345) 返回: 壹万贰仟叁佰肆拾伍元整
ToUpper(12345.12) 返回: 一万二千三百四十五点一二
ToRMB(12345) 返回: 壹万贰仟叁佰肆拾伍元整
ToUpper(12345.12) 返回: 一万二千三百四十五点一二
/// <summary> /// 数字转中文数字 /// </summary> public abstract class ChinaNum { /// <summary> /// 数字转大写金额(壹、贰、叁) /// </summary> /// <param name="value">能转换成数字或者小数的任意类型</param> /// <returns>返回大写金额</returns> public static string ToRMB(object value) { try { string hash = double.Parse(value.ToString()).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 results = Regex.Replace(hash, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[.]|$))))", "${b}${z}"); hash = Regex.Replace(results, ".", delegate(Match m) { return "负圆空零壹贰叁肆伍陆柒捌玖空空空空空空空分角拾佰仟万億兆京垓秭穰"[m.Value[0] - '-'].ToString(); }); if (hash.Substring(hash.Length - 1, 1) == "圆") { hash += "整"; } return hash; } catch (Exception) { return "零"; } } /// <summary> /// 数字转大写数字(一、二、三) /// </summary> /// <param name="value">能转换成数字或者小数的任意类型</param> /// <returns>返回大写数字</returns> public static string ToUpper(object value) { try { string hash = double.Parse(value.ToString()).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 results = Regex.Replace(hash, @"((?<=-|^)[^1-9]*)|((?'z'0)[0A-E]*((?=[1-9])|(?'-z'(?=[F-L.]|$))))|((?'b'[F-L])(?'z'0)[0A-L]*((?=[1-9])|(?'-z'(?=[.]|$))))", "${b}${z}"); hash = Regex.Replace(results, ".", delegate(Match m) { return "负点空〇一二三四五六七八九空空空空空空空分角十百千万亿兆京垓秭穰"[m.Value[0] - '-'].ToString(); }); if (hash.Substring(hash.Length - 1, 1) == "点") { hash=hash.Replace("点", ""); return hash; } else { hash = hash.Replace("角", "").Replace("分",""); return hash; } } catch (Exception) { return "〇"; } } }
相关文章推荐
- C# 实现将阿拉伯数字转换成中文大写金额
- C#阿拉伯数字金额转换为中文大写金额
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
- C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)
- C#实现的【阿拉伯数字转换成中文大写金额】
- C#实现阿拉伯数字(小写金额)到大写中文(大写金额)的转换
- C#写的将阿拉伯数字转换成中文大写金额代码
- 报表上金额由阿拉伯数字转换成中文大写
- 使用C#实现阿拉伯数字到大写中文的转换-第二种方法
- 小写数字转中文大写或大写金额的C#完整方案
- (转)C# 人民币大小写转换,将阿拉伯数字转换为中文的大写人民币
- 正则也很牛,把阿拉伯数字的金额转换为中文大写数字
- C 中将阿拉伯数字金额装换为中文大写汉字
- 使用C#实现阿拉伯数字到大写中文的转换
- 报表上金额由阿拉伯数字转换成中文大写
- 一个将阿拉伯数字转换成中文大写的好算法【原创】(C#)
- 一个将阿拉伯数字转换成中文大写的算法[C#]
- 阿拉伯数字小写金额转换成中文大写金额C程序说明
- C# 人民币大小写转换,将阿拉伯数字转换为中文的大写人民币
- c#实现的阿拉伯数字转大写汉字金额