转换RMB数字大小写格式

public   class  RmbConversion  {
  
public String Conversion(String str){
    String rmbstr 
= "";
    
//创建单位字符串数组
    String rmbunit[] = {"","","","","","","亿"};
    
//创建中文数字字符串数组
    String rmbnum[] ={"","","","","","","","","",""};
    
//把将要转换的数字的整型部分和小数部分别放在字符串数组中
    String lstr[] =str.split("/.");
    StringBuffer rmbsb 
= new StringBuffer();
    
//拼写整型部分
    for(int i=lstr[0].length();i>0;i--){
      
//将一个一的数字分别取出
      int k =Integer.parseInt((lstr[0]).substring((lstr[0].length()-(i-1))-1,lstr[0].length()-(i-1)));
      
//转换后并连接
      rmbsb.append(rmbnum[k]);
      
//给整型数字添加单位
      if(((i-1)/4)%2==0&&( (i - ( (i - 2/ 4 * 4 + 1))) + 1==5)
  
//连接"亿"位
         rmbsb.append(rmbunit[((i-((i-2)/4*4+1)))+2]);
      
else
  
//连接"圆","拾","佰","仟","萬"位
         rmbsb.append(rmbunit[((i-((i-2)/4*4+1)))+1]);
    }

    
//连接小数为数
    rmbsb.append(rmbnum[Integer.parseInt(""+lstr[1].substring(0,1))]);
    rmbsb.append(
"");
    rmbsb.append(rmbnum[Integer.parseInt(
""+lstr[1].substring(1,2))]);
    rmbsb.append(
"");
    rmbstr 
= rmbsb.toString();
    
//去掉在字符串中多余的单位和零
    rmbstr = rmbstr.replaceAll("零([^亿万圆角分])""");
    rmbstr 
= rmbstr.replaceAll("亿零+万","亿零");
    rmbstr 
= rmbstr.replaceAll("零+""");
    rmbstr 
= rmbstr.replaceAll("零([亿万圆])""$1");
    rmbstr 
=rmbstr.replaceAll("^壹拾","");
    
//返回转换的结果.
    return rmbstr;
  }

  
public static void main(String[] args) {
    RMBConversion rmbc 
= new RMBConversion();
    System.out.println(
"转换结果为:"+rmbc.Conversion(10000000000000000000001.00+""));
  }

}
 

以上是实现将数字(10000000000000000000001.00)转换为中文的大写格式.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值