java之金额大小写转换

代码如下,但是感觉不太好。

 

Java代码  收藏代码
  1. public class MoneyConvert   
  2. {  
  3.     private final String[] str1 = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"};  
  4.     private final String[] str2 = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};  
  5.     private final String[] str3 = {"角", "分"};  
  6.       
  7.     public static void main(String[] args)  
  8.     {  
  9.         double n = 1234506.789;  
  10.           
  11.         MoneyConvert mc = new MoneyConvert();  
  12.         String str = mc.convert(n);  
  13.           
  14.         System.out.println(str);  
  15.     }  
  16.       
  17.     public String convert(double n)  
  18.     {  
  19.         String str = String.valueOf(n);  
  20.         String temp1 = str.substring(0, str.indexOf("."));  
  21.         String temp2 = str.substring(str.indexOf(".")+1);  
  22.           
  23.         int k = -1;  
  24.         int len = -1;  
  25.         StringBuffer sb = new StringBuffer();  
  26.           
  27.         len = temp1.length()-1;  
  28.         for(int i=0; i<temp1.length(); i++)  
  29.         {  
  30.             k = Integer.parseInt(temp1.substring(i, i+1));  
  31.             sb.append(str2[k]).append(str1[len-i]);  
  32.         }  
  33.           
  34.         for(int i=0; i<2; i++)  
  35.         {  
  36.             k = Integer.parseInt(temp2.substring(i, i+1));  
  37.             sb.append(str2[k]).append(str3[i]);  
  38.         }  
  39.           
  40.         return sb.toString();  
  41.     }  
  42. }  

输出为:

 

Java代码  收藏代码
  1. 壹佰贰拾叁万肆仟伍佰零拾陆元柒角捌分  

posted on 2016-02-06 14:51  1130136248  阅读(252)  评论(0)    收藏  举报

导航