正在阅读:C#2.0纯数学方法递归实现货币数字转换中文C#2.0纯数学方法递归实现货币数字转换中文

2007-01-09 11:52 出处:PConline 作者:李渭宁 责任编辑:lizhe

 

 

  最近由于项目的原因,需要写一个货币数字转换中文的算法,先在网了找了一下,结果发现无一列外都是用(Replace)替换的方式来实现的,所以想写个另外的算法;因为本人是学数学出身的,所以用纯数学的方法实现。

  注意:本文中的算法支持小于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();
}

 

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品