转载地址:https://zhidao.baidu.com/question/2053114379256640187.html
支持10亿以内
1 public class Test { 2 public static void test(int d) { 3 // String[] str = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; 4 String[] str = { "零", "一", "二", "三", "四", "五", "六", "七", "八", "九" }; 5 // String ss[] = new String[] { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿" }; 6 String ss[] = new String[] { "个", "十", "百", "千", "万", "十", "百", "千", "亿" }; 7 String s = String.valueOf(d); 8 System.out.println(s); 9 StringBuffer sb = new StringBuffer(); 10 for (int i = 0; i < s.length(); i++) { 11 String index = String.valueOf(s.charAt(i)); 12 sb = sb.append(str[Integer.parseInt(index)]); 13 } 14 String sss = String.valueOf(sb); 15 int i = 0; 16 for (int j = sss.length(); j > 0; j--) { 17 sb = sb.insert(j, ss[i++]); 18 } 19 System.out.println(sb); 20 } 21 public static void main(String[] args) { 22 test(3213); 23 test(912321321); 24 } 25 }
结果
不想要“个”的话就把 ss[] 数组中的“个”改成空
不过毕竟是机械的转换,有零的话不太符合语言习惯