金额大写转换

 


String num 
=   " 零壹贰叁肆伍陆柒捌玖 " ;
    String dw 
=   " 圆拾佰仟万亿 " ;
    String m 
=   " 30020.23 " ;
    String mm[] 
=   null ;
    mm 
=  m.split( " /. " );
    String money 
=  mm[ 0 ];

    String result 
=  num.charAt(Integer.parseInt( ""   +  mm[ 1 ].charAt( 0 )))  +   " "   +
        num.charAt(Integer.parseInt(
""   +  mm[ 1 ].charAt( 1 )))  +   " " ;

    
for  ( int  i  =   0 ; i  <  money.length(); i ++ {
      String str 
= "";
      
int n = Integer.parseInt(money.substring(money.length() - i - 1,
                                               money.length() 
- i));
      str 
= str + num.charAt(n);
      
if (i == 0{
        str 
= str + dw.charAt(i);
      }

      
else if ( (i + 4% 8 == 0{
        str 
= str + dw.charAt(4);
      }

      
else if (i % 8 == 0{
        str 
= str + dw.charAt(5);
      }

      
else {
        str 
= str + dw.charAt(i % 4);
      }

      result 
= str + result;
    }


    result 
=  result.replaceAll( " 零([^亿万圆]) " " " );
    result 
=  result.replaceAll( " 亿零+万 " , " 亿零 " );
    result 
=  result.replaceAll( " 零+ " " " );
    result 
=  result.replaceAll( " 零([亿万圆]) " " $1 " );
    result 
= result.replaceAll( " ^壹拾 " , " " );

    System.out.println(result);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值