代码如下,但是感觉不太好。
public class MoneyConvert { private final String[] str1 = {"元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿"}; private final String[] str2 = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"}; private final String[] str3 = {"角", "分"}; public static void main(String[] args) { double n = 1234506.789; MoneyConvert mc = new MoneyConvert(); String str = mc.convert(n); System.out.println(str); } public String convert(double n) { String str = String.valueOf(n); String temp1 = str.substring(0, str.indexOf(".")); String temp2 = str.substring(str.indexOf(".")+1); int k = -1; int len = -1; StringBuffer sb = new StringBuffer(); len = temp1.length()-1; for(int i=0; i<temp1.length(); i++) { k = Integer.parseInt(temp1.substring(i, i+1)); sb.append(str2[k]).append(str1[len-i]); } for(int i=0; i<2; i++) { k = Integer.parseInt(temp2.substring(i, i+1)); sb.append(str2[k]).append(str3[i]); } return sb.toString(); } }
输出为:
壹佰贰拾叁万肆仟伍佰零拾陆元柒角捌分