C#阿拉伯数字转换为中文大写

本文介绍了一个简单的数字转换器类,能够将阿拉伯数字转换成中文大写形式,并提供了另一种方法将数字转换为小写汉字,适用于财务票据等场景。

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

 
  1. class ConvertNumber
  2.     {
  3.         #region 大写、单位数组定义
  4.         private static string[] cstr ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖" };
  5.         private static string[] wstr ={ """""拾""佰""仟""萬""拾""佰""仟""億""拾""佰""仟" };
  6.         private static string[] lcstr ={ "〇""一""二""三""四""五""六""七""八""九" };
  7.         #endregion
  8.         /// <summary>
  9.         /// 转换方法
  10.         /// </summary>
  11.         /// <param name="str">输入参数为阿拉伯数字</param>
  12.         /// <returns>返回字符串为中文大写</returns>
  13.         public static  string ConvertInt(string str)
  14.         {
  15.             int len = str.Length;//获取字符串长度
  16.             int i;
  17.             string tmpstr, rstr;//rstr为返回的字符串
  18.             rstr = "";
  19.             //执行循环逐位分解字符串
  20.             for (i = 1; i <= len; i++)
  21.             {
  22.                 tmpstr = str.Substring(len - i, 1);
  23.                 rstr = string.Concat(cstr[Int32.Parse(tmpstr)] + wstr[i], rstr);
  24.             }
  25.             //当某位数值为零时进行替换
  26.             rstr = rstr.Replace("拾零""拾");
  27.             rstr = rstr.Replace("零拾""零");
  28.             rstr = rstr.Replace("零佰""零");
  29.             rstr = rstr.Replace("零仟""零");
  30.             rstr = rstr.Replace("零萬""萬");
  31.             //当位数连续为零时进行替换
  32.             for (i = 1; i <= 6; i++)
  33.                 rstr = rstr.Replace("零零""零");
  34.             rstr = rstr.Replace("零萬""零");
  35.             rstr = rstr.Replace("零億""億");
  36.             rstr = rstr.Replace("零零""零");
  37.             return rstr;
  38.         }
  39.         public static string ConvertDate(string str)
  40.         {
  41.             string tempStr=string .Empty ;
  42.             for (int i = 0; i < str.Length; i++)
  43.             {
  44.                 tempStr = tempStr + lcstr[Int32.Parse(str.Substring(i, 1))];
  45.             }
  46.             return tempStr ;
  47.         }
  48.     }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值