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

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

大写金额转换成小写_JAVAprivate   float  getMoney( string  strBig)
大写金额转换成小写_JAVA_02大写金额转换成小写_JAVA_03         
... {
大写金额转换成小写_JAVA_04             
string  strExp = "" ;
大写金额转换成小写_JAVA_05大写金额转换成小写_JAVA_06             
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 " } ;
大写金额转换成小写_JAVA_04             
for  ( int  i  =   0 ; i  <  strBig.Length; i ++ )
大写金额转换成小写_JAVA_05大写金额转换成小写_JAVA_06             
... {
大写金额转换成小写_JAVA_04                 
for  ( int  j  =   0 ; j  <  arrBig.Length - 1 ;j += 2  )
大写金额转换成小写_JAVA_05大写金额转换成小写_JAVA_06                 
... {
大写金额转换成小写_JAVA_04                     
if  (arrBig[j]  ==  strBig[i].ToString())
大写金额转换成小写_JAVA_05大写金额转换成小写_JAVA_06                     
... {
大写金额转换成小写_JAVA_04                         strExp 
+=  arrBig[j  +   1 ].ToString();
大写金额转换成小写_JAVA_04                         
continue ;
大写金额转换成小写_JAVA_18                     }

大写金额转换成小写_JAVA_18                 }

大写金额转换成小写_JAVA_18             }

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

 伴水兄的这个较狠

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

大写金额转换成小写_JAVA_18         }

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

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

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

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

大写金额转换成小写_JAVA_18             }

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

大写金额转换成小写_JAVA_18     }

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

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

大写金额转换成小写_JAVA_26 }

大写金额转换成小写_JAVA