|
一个货币数字转换中文的算法,注意:本文中的算法支持小于1023 (也就是9999亿兆)货币数字转化。 货币中文说明: 在说明代码之前,首先让我们回顾一下货币的读法。
10020002.23 读为 壹仟零贰万零贰元贰角叁分 1020 读为 壹仟零贰拾元整。 100000 读为 拾万元整 0.13 读为 壹角叁分
代码:
测试工程 static void Main(string[] args) {
Console.WriteLine("请输入金额"); string inputNum = Console.ReadLine(); while (inputNum != "exit") {
//货币数字转化类 NumCast nc = new NumCast();
if (nc.IsValidated<string>(inputNum)) { try { string chineseCharacter = nc.ConvertToChinese(inputNum); Console.WriteLine(chineseCharacter); } catch (Exception er) { Console.WriteLine(er.Message); } } else { Console.WriteLine("不合法的数字或格式"); }
Console.WriteLine("\n请输入金额"); inputNum = Console.ReadLine();
} Console.ReadLine(); }
测试结果如下:
货币转化类(NumCast类)功能介绍
1 常量的规定 /// <summary> /// 数位 /// </summary> public enum NumLevel { Cent, Chiao, Yuan, Ten, Hundred, Thousand, TenThousand, hundredMillon, Trillion };
/// <summary> /// 数位的指数 /// </summary> private int[] NumLevelExponent = new int[] { -2, -1, 0, 1, 2, 3, 4, 8, 12 };
/// <summary> /// 数位的中文字符 /// </summary> private string[] NumLeverChineseSign = new string[] { "分", "角", "元", "拾", "佰", "仟", "万", "亿", "兆" };
/// <summary> /// 大写字符 /// </summary> private string[] NumChineseCharacter = new string[] {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
/// <summary> /// 整(当没有 角分 时) /// </summary>
private const string EndOfInt = "整";
2:数字合法性验证,采用正则表达式验证 /// <summary> /// 正则表达验证数字是否合法 /// </summary> /// <param name="Num"></param> /// <returns></returns> public bool IsValidated<T>(T Num)
上一篇:同步http处理程序(IHttpHandler)
下一篇:css的一些基础的东西
|