数字金额转换成中文金额(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;
  }

相关文章推荐

金额从数字转换成中文汉字大写的实现

以下简单封装的实现方法,详细见注释class money2chinese { private $amount; // 金额 private $num2chinese; // 大写数字 ...

js 数字金额大小写转换成中文大写

function Arabia_to_Chinese(Num) { for(i=Num.length-1;i>=0;i--) { Num = Num.replace(",","")//替换to...

将数字转换成中文金额的大写形式

package com.unteck.fms.web.businessdata.controller; import org.springframework.beans.factory.anno...

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

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

黑马程序员——金额转换,阿拉伯数字转换成中文大写

package com.heima.problemA; import java.util.ArrayList; import java.util.List; /* * 思路: 待转换的整数分为...

转换成中文大写金额

  • 2011年09月14日 15:32
  • 3KB
  • 下载

java将金额数字转换成对应的汉字

将金额数字转换成对应的中文汉字

阿拉伯数字的金额转换成中国传统的形式

/** * @(#)SimpleMoneyFormat.java * *金额转换,阿拉伯数字的金额转换为中国传统的形式输出 * @lpxuan * @version 1.00 2008/7/...

将数字转换成金额(统计专业实验报告)

编程实现如下功能: 1输入一个小写金额值(如1002300.90) 2将它的每一位分离出来并存入到一个一位数组中,每一位数存入到一个数组元素中 3将它转化为大写金额值并输出 (这是帮同学写...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数字金额转换成中文金额(C#实现)
举报原因:
原因补充:

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