使用C#实现阿拉伯数字到大写中文的转换-第二种方法

本文提供了一种使用C#将阿拉伯数字转换为大写中文的方法,包括整数和小数的转换。通过定义字符映射数组,实现数字到中文字符的转换,并处理各种级别的单位。此外,还提供了测试代码来验证转换的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自:http://blog.youkuaiyun.com/YICK/archive/2005/01/12/250097.aspx

这是类的源码
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[4] {"","十","百","千"};
   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]=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值