大写金额转换成小写

时间:2021-05-10 09:12:11

Q:如何将大写金额转换成小写?

A:简单点,格式比较严格

大写金额转换成小写private   float  getMoney( string  strBig)
大写金额转换成小写大写金额转换成小写         
... {
大写金额转换成小写             
string  strExp = "" ;
大写金额转换成小写大写金额转换成小写             
string [] arrBig   =   new   string []  ... " " , "" , " " , " +0 " , " " , " +1 " , " " , " +2 " , " " , " +3 " , " " , " +4 " , " " , " +5 " , " " , " +6 " , " " , " +7 " , " " , " +8 " , " " , " +9 " " " , " *0.01 " , " " , " *0.1 " , " " , " *1 " , " " , " *10.00 " , " " , " *100.00 " , " " , " *1000.00 " , " " , " *10000.00 " , " 亿 " , " *100000000.00 " } ;
大写金额转换成小写             
for  ( int  i  =   0 ; i  <  strBig.Length; i ++ )
大写金额转换成小写大写金额转换成小写             
... {
大写金额转换成小写                 
for  ( int  j  =   0 ; j  <  arrBig.Length - 1 ;j += 2  )
大写金额转换成小写大写金额转换成小写                 
... {
大写金额转换成小写                     
if  (arrBig[j]  ==  strBig[i].ToString())
大写金额转换成小写大写金额转换成小写                     
... {
大写金额转换成小写                         strExp 
+=  arrBig[j  +   1 ].ToString();
大写金额转换成小写                         
continue ;
大写金额转换成小写                     }

大写金额转换成小写                 }

大写金额转换成小写             }

大写金额转换成小写
大写金额转换成小写             
object   ret = new  DataTable().Compute(strExp,  "" );
大写金额转换成小写             
return   float .Parse(ret.ToString());
大写金额转换成小写             
// Console.WriteLine(getMoney("玖仟零贰拾壹元陆角肆分"));
大写金额转换成小写             
// Console.WriteLine(getMoney("玖仟万亿零贰拾壹元陆角肆分"));
大写金额转换成小写
        }

 伴水兄的这个较狠

大写金额转换成小写public   double  DecodeMoneyCn( string  AText)
大写金额转换成小写大写金额转换成小写
... {
大写金额转换成小写     AText 
=  AText.Replace( " 万万 " " 亿 " );
大写金额转换成小写     AText 
=  AText.Replace( " " " " );
大写金额转换成小写     AText 
=  AText.Replace( " " " " );
大写金额转换成小写     AText 
=  AText.Replace( " " " " );
大写金额转换成小写     
double  vResult  =   0 ;
大写金额转换成小写     
double  vNumber  =   0 //  当前数字
大写金额转换成小写
     double  vTemp  =   0 ;
大写金额转换成小写     
int  vDecimal  =   0 //  是否出现小数点
大写金额转换成小写
     foreach  ( char  vChar  in  AText)
大写金额转换成小写大写金额转换成小写     
... {
大写金额转换成小写         
int  i  =   " 零一二三四五六七八九 " .IndexOf(vChar);
大写金额转换成小写         
if  (i  <   0 ) i  =   " 零幺两三四五六七八九 " .IndexOf(vChar);
大写金额转换成小写         
if  (i  <   0 ) i  =   " 零壹贰叁肆伍陆柒捌玖 " .IndexOf(vChar);
大写金额转换成小写         
if  (i  >   0 )
大写金额转换成小写大写金额转换成小写         
... {
大写金额转换成小写             vNumber 
=  i;
大写金额转换成小写             
if  (vDecimal  >   0 )
大写金额转换成小写大写金额转换成小写             
... {
大写金额转换成小写                 vResult 
+=  vNumber  *  Math.Pow( 10 - vDecimal);
大写金额转换成小写                 vDecimal
++ ;
大写金额转换成小写                 vNumber 
=   0 ;
大写金额转换成小写             }

大写金额转换成小写         }

大写金额转换成小写         
else
大写金额转换成小写大写金额转换成小写         
... {
大写金额转换成小写             i 
=   " 元十百千万亿 " .IndexOf(vChar);
大写金额转换成小写             
if  (i  <   0 ) i  =   " 整拾佰仟万亿 " .IndexOf(vChar);
大写金额转换成小写             
if  (i  ==   5 ) i  =   8 ;
大写金额转换成小写             
if  (i  >   0 )
大写金额转换成小写大写金额转换成小写             
... {
大写金额转换成小写                 
if  (i  >=   4 )
大写金额转换成小写大写金额转换成小写                 
... {
大写金额转换成小写                     vTemp 
+=  vNumber;
大写金额转换成小写                     
if  (vTemp  ==   0 ) vTemp  =   1 ;
大写金额转换成小写                     vResult 
+=  vTemp  *  Math.Pow( 10 , i);
大写金额转换成小写                     vTemp 
=   0 ;
大写金额转换成小写                 }

大写金额转换成小写                 
else  vTemp  +=  vNumber  *  Math.Pow( 10 , i);
大写金额转换成小写             }

大写金额转换成小写             
else
大写金额转换成小写大写金额转换成小写             
... {
大写金额转换成小写                 i 
=   " 元角分 " .IndexOf(vChar);
大写金额转换成小写                 
if  (i  >   0 )
大写金额转换成小写大写金额转换成小写                 
... {
大写金额转换成小写                     vTemp 
+=  vNumber;
大写金额转换成小写                     vResult 
+=  vTemp  *  Math.Pow( 10 - i);
大写金额转换成小写                     vTemp 
=   0 ;
大写金额转换成小写                 }

大写金额转换成小写                 
else   if  (i  ==   0 )
大写金额转换成小写大写金额转换成小写                 
... {
大写金额转换成小写                     vTemp 
+=  vNumber;
大写金额转换成小写                     vResult 
+=  vTemp;
大写金额转换成小写                     vDecimal 
=   1 ;
大写金额转换成小写                     vTemp 
=   0 ;
大写金额转换成小写                 }

大写金额转换成小写             }

大写金额转换成小写             vNumber 
=   0 ;
大写金额转换成小写         }

大写金额转换成小写     }

大写金额转换成小写     
return  vResult  +  vTemp  +  vNumber;
大写金额转换成小写 }

大写金额转换成小写
大写金额转换成小写
private   void  button2_Click( object  sender, EventArgs e)
大写金额转换成小写大写金额转换成小写
... {
大写金额转换成小写大写金额转换成小写     
string [] vTestText  =   ...
大写金额转换成小写         
" 十二点五六 "
大写金额转换成小写         
" 一亿零一万零五 "
大写金额转换成小写         
" 四万万 "
大写金额转换成小写         
" 九十八亿七千六百五十四万三千二百一十 " ,
大写金额转换成小写         
" 五元一角四分 " " 壹佰元整 " ,
大写金额转换成小写         
" 三千五百万 " ,
大写金额转换成小写         
" 九块二毛 " }
;
大写金额转换成小写     
foreach  ( string  vText  in  vTestText)
大写金额转换成小写大写金额转换成小写     
... {
大写金额转换成小写         Console.WriteLine(
" DecodeMoneyCn("{0}")={1} " , vText, 
大写金额转换成小写             DecodeMoneyCn(vText));
大写金额转换成小写     }

大写金额转换成小写 }

大写金额转换成小写

相关文章