java 保留数字与中文_java 转中文数字

import org.junit.Test;

public class NumberFormat {private static String[][] cnum={{"零","一","二","三","四","五","六","七","八","九","元","角","分"},         {"零","壹","貳","叁","肆","伍","陆","柒","捌","玖","圆","角","分"}};private static String[][] dw={{"十","百","千","万","十","百","千","亿"},         {"拾","佰","仟","萬","拾","佰","仟","亿"}};@Testpublic void test(){ String s="1234567890123456789.01"; Long time=System.nanoTime(); System.out.println(s+"/n"+this.toChinese(s,false)); System.out.println(System.nanoTime()-time);}/*** *  * @param String numberstr需要转换的数字串 * @param flag boolean 简繁体 * @return */public String toChinese(String numberstr,boolean flag){ int cnum_flag=flag==true?1:0; //小数点的索引 int index_point=numberstr.indexOf("."); if(index_point<0)  index_point=0; StringBuffer sb=new StringBuffer(); String zhengshu=null;//整数位 String fenshu=null;//分数位   zhengshu=numberstr.substring(0,index_point);  int strLen=zhengshu.length();  for(int j=1;j<=strLen;j++){   char num=zhengshu.charAt(j-1);   toNum(sb,num,cnum_flag);    int i=strLen-j-1;    if(i!=-1){     sb.append(dw[cnum_flag][i%8]);    }  }    if(index_point>0){   fenshu=numberstr.substring(index_point+1);   sb.append(cnum[cnum_flag][10]);   for(int j=1;j<=fenshu.length();j++){    char num=fenshu.charAt(j-1);    toNum(sb,num,cnum_flag);    switch(j){     case 2:      sb.append(cnum[cnum_flag][12]);      break;     case 1:      sb.append(cnum[cnum_flag][11]);      break;    }   }  } return sb.toString();}private void toNum(StringBuffer sb,char ch,int cnum_flag){ switch(ch){ case '0':  sb.append(cnum[cnum_flag][0]);  break; case '1':  sb.append(cnum[cnum_flag][1]);  break; case '2':  sb.append(cnum[cnum_flag][2]);  break; case '3':  sb.append(cnum[cnum_flag][3]);  break; case '4':  sb.append(cnum[cnum_flag][4]);  break; case '5':  sb.append(cnum[cnum_flag][5]);  break; case '6':  sb.append(cnum[cnum_flag][6]);  break; case '7':  sb.append(cnum[cnum_flag][7]);  break; case '8':  sb.append(cnum[cnum_flag][8]);  break; case '9':  sb.append(cnum[cnum_flag][9]);  break; }}}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值