网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
使用C#实现阿拉伯数字到大写中文的转换
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

using System;

namespace ConsoleApp
{
/// <summary>
/// 本类实现阿拉伯数字到大写中文的转换
/// 该类没有对非法数字进行判别
/// 请调用NumToChn方法
/// </summary>
public class NumFormat
{
  public NumFormat()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  
  // 转换数字
  private char ToNum(char x)
  {
   string strChnNames="零一二三四五六七八九";
   string strNumNames="0123456789";
   return strChnNames[strNumNames.IndexOf(x)];
  }
  
  // 转换万以下整数
  private string ChangeInt(string x)
  {
   string strArrayLevelNames=new string {"","十","百","千"};
   string ret = "";
   int i;
   for (i=x.Length-1;i>=0;i--)
    if (x[i] == ''0'')
     ret = ToNum(x[i]) + ret;
    else
     ret = ToNum(x[i]) + strArrayLevelNames[x.Length-1-i] + ret;
   while ((i=ret.IndexOf("零零"))!=-1)
    ret=ret.Remove(i, 1);
   if (ret[ret.Length-1]==''零'' && ret.Length>1)
    ret=ret.Remove(ret.Length-1,1);
   if (ret.Length>=2 && ret.Substring(0,2)=="一十")
    ret=ret.Remove(0,1);
   return ret;
  }

  // 转换整数
  private string ToInt(string x)
  {
   int len = x.Length;
   string ret,temp;
   if (len<=4)
    ret = ChangeInt(x);
   else if (len<=8)
   {
    ret = ChangeInt(x.Substring(0,len-4)) + "万";
    temp = ChangeInt(x.Substring(len-4,4));
    if (temp.IndexOf("千")==-1 && temp!="")
     ret += "零" + temp;
    else
     ret += temp;
   }
   else
   {
    ret=ChangeInt(x.Substring(0,len-8)) + "亿";
    temp=ChangeInt(x.Substring(len-8,4));
    if (temp.IndexOf("千")==-1 && temp!="")
     ret += "零" + temp;
    else
     ret += temp;
    ret += "万";
    temp = ChangeInt(x.Substring(len-4,4));
    if (temp.IndexOf("千")==-1 && temp!="")
     ret += "零" + temp;
    else
     ret += temp;
&
  • 上一篇资讯: C#如何取硬件标志
  • 下一篇资讯: C#处理鼠标和键盘事件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号