文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络网络编程Asp.NetC#2.0纯数学方法递归实现货币数字转换中文
精品推荐
特别推荐
·理解掌握ASP.NET与客户端缓存之HTTP协议
·技巧实例:ASP.NET生成静态页面实现方法
·ASP.NET、JSP及PHP之间的抉择
·.net基础知识错误注意二十二点知识
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·.NET基础知识-什么是.NET
·初学C#+ASP.NET+Oracle时积累的备忘点滴
·专家详解:复杂表达式的执行步骤
·asp.net中的加密方法
·DataGrid常见关注问题解决方案
热点TOP10
·常见.Net 英文专业词汇收集
·病毒及流氓软件自我复制的简单实现(C#)
·探讨ASP.NET 2.0中的Web控件改进技术
·打造一个通用ASP.NET数据分页控件
·ASP.NET:使用DataTable对象保存数据
·VB.NET 与 XML 的实例操作
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·初学解惑:关于ASP.NET技术的学习顺序问题
·DataList嵌套实例
·asp.net常用代码

C#2.0纯数学方法递归实现货币数字转换中文

日期:2007年7月8日 作者: 查看:[大字体 中字体 小字体]

  最近由于项目的原因,需要写一个货币数字转换中文的算法,先在网了找了一下,结果发现无一列外都是用(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();
}

测试结果如下:

货币转化类(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)
{
Regex reg = new Regex(@"^(([0])([1-9]\d{0,23}))(\.\d{1,2})?$");
if (reg.IsMatch(Num.ToString()))
{
return true;

}
return false;
}

3: 获取数位 例如 1000的数位为 NumLevel.Thousand

/// <summary>

[1] [2] [3] [4] [5] 下一页 



上一篇:ASP.NET移动开发之SelectionList控件

下一篇:ASP.NET 2.0高级数据处理之数据绑定

相关文章:
·卡巴斯基7.0简体中文正式版试用
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·如何实现局域网打印机共享
·MPEG、RM、WMV电影文件格式转换指南
·3GP手机视频转换工具WinAVI
·Windows Vista 简体中文版最终价格公布
·太阁立志传4 中文版修行篇
·怎样把CD格式转换成MP3格式
·【Vista】各版本下载大集合 + Office 2007中文版
·网络入侵也玩双通道 间接实现入侵系统
相关软件:

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot