知识大全 C#中数字金额转换大写金额方法

Posted 数字

篇首语:一身转战三千里,一剑曾当百万师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#中数字金额转换大写金额方法相关的知识,希望对你有一定的参考价值。

C#中数字金额转换大写金额方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     代码的主调函数为ConvertSum 它的参数是string类型的数字字符串 在ASP NET中调用方式如下:

  Label Text=ConvertSum( 数字字符串 );

  其代码如下            /// 转换数字金额主函数(包括小数)          ///          /// 数字字符串          /// 转换成中文大写后的字符串或者出错信息提示字符串          public string ConvertSum(string str)                         if(!IsPositveDecimal(str))               return 输入的不是正数字! ;               if(Double Parse(str)> )               return 数字太大 无法换算 请输入一万亿元以下的金额 ;               char[] ch=new char[ ];               ch[ ]= ; //小数点               string[] splitstr=null; //定义按小数点分割后的字符串数组               splitstr=str Split(ch[ ]);//按小数点分割字符串               if(splitstr Length== ) //只有整数部分               return ConvertData(str)+ 圆整 ;               else //有小数部分                                   string rstr;                    rstr=ConvertData(splitstr[ ])+ 圆 ;//转换整数部分                    rstr+=ConvertXiaoShu(splitstr[ ]);//转换小数部分                    return rstr;                        

              ///          /// 判断是否是正数字字符串          ///          /// 判断字符串          /// 如果是数字 返回true 否则返回false          public bool IsPositveDecimal(string str)                         Decimal d;               try                                   d=Decimal Parse(str);                              catch(Exception)                                  return false;                              if(d> )               return true;               else               return false;         

  

  ///          /// 转换数字(整数)          ///          /// 需要转换的整数数字字符串          /// 转换成中文大写后的字符串          public string ConvertData(string str)                         string tmpstr= ;               string rstr= ;               int strlen=str Length;               if (strlen<= )//数字长度小于四位                                   rstr= ConvertDigit(str);

                 else                                   if (strlen<= )//数字长度大于四位 小于八位                                             tmpstr=str Substring(strlen );//先截取最后四位数字                         rstr=ConvertDigit(tmpstr);//转换最后四位数字                         tmpstr=str Substring( strlen );//截取其余数字                         //将两次转换的数字加上万后相连接                         rstr= String Concat(ConvertDigit(tmpstr)+ 万 rstr);                         rstr=rstr Replace( 零零 零 );                                    else                if(strlen<= )//数字长度大于八位 小于十二位                                     tmpstr=str Substring(strlen );//先截取最后四位数字                     rstr=ConvertDigit(tmpstr);//转换最后四位数字                     tmpstr=str Substring(strlen );//再截取四位数字                     rstr= String Concat(ConvertDigit(tmpstr)+ 万 rstr);                     tmpstr=str Substring( strlen );                     rstr= String Concat(ConvertDigit(tmpstr)+ 亿 rstr);                     rstr=rstr Replace( 零亿 亿 );                     rstr=rstr Replace( 零万 零 );                     rstr=rstr Replace( 零零 零 );                     rstr=rstr Replace( 零零 零 );                                              strlen=rstr Length;               if (strlen>= )                                   switch(rstr Substring(strlen ))                                             case 佰零 :rstr=rstr Substring( strlen )+ 佰 ; break;                         case 仟零 :rstr=rstr Substring( strlen )+ 仟 ; break;                         case 万零 :rstr=rstr Substring( strlen )+ 万 ;break;                         case 亿零 :rstr=rstr Substring( strlen )+ 亿 ;break;                                                  return rstr;         

              ///          /// 转换数字(小数部分)          ///          /// 需要转换的小数部分数字字符串          /// 转换成中文大写后的字符串          public string ConvertXiaoShu(string str)                         int strlen=str Length ;               string rstr;               if(strlen== )                                   rstr=ConvertChinese(str)+ 角 ;                    return  rstr;                              else                                   string tmpstr=str Substring( );                    rstr=ConvertChinese(tmpstr)+ 角 ;                    tmpstr=str Substring( );                    rstr+=ConvertChinese(tmpstr)+ 分 ;                    rstr=rstr Replace( 零分 );                    rstr=rstr Replace( 零角 );                    return rstr;                        

              ///          /// 转换数字          ///          /// 转换的字符串(四位以内)          ///          public string ConvertDigit(string str)                         int strlen=str Length;               string rstr= ;               switch (strlen)                                   case : rstr=ConvertChinese(str);break;                    case : rstr=Convert Digit(str);break;                    case : rstr=Convert Digit(str);break;                    case : rstr=Convert Digit(str);break;                              rstr=rstr Replace( 拾零 拾 );               strlen=rstr Length;               return rstr;         

              ///          /// 转换四位数字          ///          public string Convert Digit(string str)                         string str =str Substring( );               string str =str Substring( );               string str =str Substring( );               string str =str Substring( );               string rstring= ;               rstring+=ConvertChinese(str )+ 仟 ;               rstring+=ConvertChinese(str )+ 佰 ;               rstring+=ConvertChinese(str )+ 拾 ;               rstring+=ConvertChinese(str );               rstring=rstring Replace( 零仟 零 );               rstring=rstring Replace( 零佰 零 );               rstring=rstring Replace( 零拾 零 );               rstring=rstring Replace( 零零 零 );               rstring=rstring Replace( 零零 零 );               rstring=rstring Replace( 零零 零 );               return rstring;         

              ///          /// 转换三位数字          ///          public string Convert Digit(string str)                         string str =str Substring( );               string str =str Substring( );               string str =str Substring( );               string rstring= ;               rstring+=ConvertChinese(str )+ 佰 ;               rstring+=ConvertChinese(str )+ 拾 ;               rstring+=ConvertChinese(str );               rstring=rstring Replace( 零佰 零 );               rstring=rstring Replace( 零拾 零 );               rstring=rstring Replace( 零零 零 );               rstring=rstring Replace( 零零 零 );               return rstring;         

              ///          /// 转换二位数字          ///          public string Convert Digit(string str)                         string str =str Substring( );               string str =str Substring( );               string rstring= ;               rstring+=ConvertChinese(str )+ 拾 ;               rstring+=ConvertChinese(str );               rstring=rstring Replace( 零拾 零 );               rstring=rstring Replace( 零零 零 );               return rstring;         

  

  ///          /// 将一位数字转换成中文大写数字          ///          public string ConvertChinese(string str)                         // 零壹贰三肆伍陆柒捌玖拾佰仟万亿圆整角分                string cstr= ;               switch(str)                                   case : cstr= 零 ;break;                    case : cstr= 壹 ;break;                    case : cstr= 贰 ;break;                    case : cstr= 三 ;break;                    case : cstr= 肆 ;break;                    case : cstr= 伍 ;break;                    case : cstr= 陆 ;break;                    case : cstr= 柒 ;break;                    case : cstr= 捌 ;break;                    case : cstr= 玖 ;break;                              return(cstr);         

cha138/Article/program/net/201311/13431

相关参考

知识大全 C#实现阿拉伯数字到大写中文的转换

C#实现阿拉伯数字到大写中文的转换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ///<

知识大全 将数字转为中文金额的大写方式

  publicclassTransRMB  /**  *测试程序的可行性  *@paramargs  */  publicstaticvoidmain(String[]args)  Systemou

知识大全 delphi编程小写金额转换

  财务软件中总少不了大写的金额表示方式如下为一个简单的小写金额转换为大写的函数其思路简单(可以说烂吧居然利用了位置来转换)但是它却几乎可以无限制的转换只要你能读得出来和写得进去  functionT

备案表有哪些填制要求?

(1)进口单位代码应填写企业法人代码;  (2)一份备案表,仅允许标注一种结算方式;  (3)付汇币种、金额及金额大写不允许涂改;  (4)付汇金额小写与大写应一致;  (5)备案表填制应字迹规范整齐

知识大全 C#纯数学方法递归实现货币数字转换中文

C#纯数学方法递归实现货币数字转换中文  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近由于项

知识大全 在PB中实现数字的英文大写和中文大写[3]

在PB中实现数字的英文大写和中文大写[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 在PB中实现数字的英文大写和中文大写[2]

在PB中实现数字的英文大写和中文大写[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 在PB中实现数字的英文大写和中文大写[1]

在PB中实现数字的英文大写和中文大写[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 支票日期中日期是30日,大写该如何写呢

支票日期中日期是30日,大写该如何写呢?零叁拾日吗?,支票日期写零贰拾叁日能受理吗支票日期中的30日,前面不需要加零,直接写叁拾日即可。详见如下:支票日期填写:出票日期(大写)、数字必须大写,大写数字

知识大全 我在填写增值税发票时单价和金额都是含税的,那打印出来的是不是不含税的

问下:我在填写增值税发票时单价和金额都是含税的,那打印出来的是不是不含税的?是的,系统直动转换成不含税的.这个要看你是怎么填的,如果点了上面那个含税价和不含税价转换的按钮,那么填价格的时候只能填含税价