数字金额转换成中文金额(C#实现)

原创 2006年05月26日 13:46:00
public static string ConvertNumAmtToChinese(decimal numVal)
  {
   decimal org = EMSMath.Round(numVal,2);
   string orgData = org.ToString();
   int length = orgData.Length;
   int j = 0;
   string ret = string.Empty;
   string temp = string.Empty;
   //9,123,456,789,123.12
   for (int i=length-1;i>=0;i--)
   {
    temp = "";
    j++;
    switch (orgData[i])
    {
     case '.' : temp = "元";
      break;
     case '0' : temp = "零";
      break;
     case '1' : temp = "壹";
      break;
     case '2' : temp = "贰";
      break;
     case '3' : temp = "叁";
      break;
     case '4' : temp = "肆";
      break;
     case '5' : temp = "伍";
      break;
     case '6' : temp = "陆";
      break;
     case '7' : temp = "柒";
      break;
     case '8' : temp = "捌";
      break;
     case '9' : temp = "玖";
      break;
     default : break;
    }
    switch(j)
    {
     case 1  : temp = temp + "分";
      break;
     case 2  : temp = temp + "角";
      break;
     case 3  : temp = temp + "";
      break;
     case 4  : temp = temp + "";
      break;
     case 5  : temp = temp + "拾";
      break;
     case 6  : temp = temp + "佰";
      break;
     case 7  : temp = temp + "仟";
      break;
     case 8  : temp = temp + "万";
      break;
     case 9  : temp = temp + "拾";
      break;
     case 10 : temp = temp + "佰";
      break;
     case 11 : temp = temp + "仟";
      break;
     case 12 : temp = temp + "亿";
      break;
     case 13 : temp = temp + "拾";
      break;
     case 14 : temp = temp + "佰";
      break;
     case 15 : temp = temp + "仟";
      break;
     case 16 : temp = temp + "万";
      break;
     default: break;
    }    
    ret = temp + ret;
   }
   
   ret = ret.Replace("零拾","零");
   ret = ret.Replace("零佰","零");
   ret = ret.Replace("零仟","零");
   ret = ret.Replace("零零零","零");
   ret = ret.Replace("零零","零");
   ret = ret.Replace("零角零分","整");
   ret = ret.Replace("零分","整");
   ret = ret.Replace("零分","整");
   ret = ret.Replace("零亿零万零元","亿元");
   ret = ret.Replace("亿零万零元","亿元");
   ret = ret.Replace("零亿零万","亿");
   ret = ret.Replace("零万零元","万元");
   ret = ret.Replace("万零元","万元");
   ret = ret.Replace("零亿","亿");
   ret = ret.Replace("零万","万");
   ret = ret.Replace("零元","元");
   ret = ret.Replace("零零","零");
   return ret;
  }

C#把金额转换为汉字表达式

C#把金额转换为汉字表达式
  • y_f123
  • y_f123
  • 2014年09月04日 08:44
  • 1055

C#实现的【阿拉伯数字转换成中文大写金额】代码(原创)

以下C#代码实现了将阿拉伯数字转换成中文大写金额的功能,并Visual Studio.NET 2003 下调试基本通过(未经严格测试,希望各位发现错误后与作者联系fanz2000@sohu.com,或...
  • fanz2000
  • fanz2000
  • 2004年08月14日 12:14
  • 4372

java练习:金额转换,阿拉伯数字转换成中文传统形式

import java.util.Scanner; public class Test2 { public static void main(String[] args) { // TOD...
  • fmi110
  • fmi110
  • 2015年09月05日 12:39
  • 1701

C# 用正则表达式实现金额转中文大写

public static string MoneyToCap(string money) { if (string.IsNullOrEmpty(money))...
  • zuoyefeng1990
  • zuoyefeng1990
  • 2016年11月11日 14:46
  • 363

JAVA科学计数法,金额数字,转换为中文大写字

java操作金额
  • wangyonglin1123
  • wangyonglin1123
  • 2016年04月28日 13:46
  • 1880

java实现数字金额转换成汉字大写金额

我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码...
  • software7503
  • software7503
  • 2017年07月10日 20:21
  • 344

Qt将数字转为中文大写金额

在实现之前自己在网上找了相关资料, 没发现好的实现方法, 仿照一篇博客写能实现将整数转为大写中文数字, 但是源代码写得有些复杂且没有实现小数的转换, 索性自己改写了一下....
  • tangtaizong33
  • tangtaizong33
  • 2017年08月02日 18:25
  • 402

Java数字金额转换为大写金额

代码:package com.daidai.java.RMB;public class Amount2RMB { public static char[] NUMBER_CHAR = "零壹贰叁...
  • daidaineteasy
  • daidaineteasy
  • 2015年09月26日 23:18
  • 5818

java实现将整数转化为中文大写金额

在日常生活中,我们经常会将阿拉伯数字转化为中文大写的情况:"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", "拾", "佰", "仟", "万", "...
  • xiaojimanman
  • xiaojimanman
  • 2015年11月02日 11:56
  • 2257

ABAP--将数字金额转换为人民币大写字符串(增加UNICODE版本)

1、No Uncode VersionFUNCTION Z_CONVERT_NUMERIC_TO_CHINESE.*"-----------------------------------------...
  • CompassButton
  • CompassButton
  • 2006年09月05日 16:10
  • 4587
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数字金额转换成中文金额(C#实现)
举报原因:
原因补充:

(最多只允许输入30个字)