少年们,拷贝拿去用吧,对零做处理了!
原文链接:https://www.iteye.com/blog/1017401036-2305493
我对零做了处理 例如:1000500 ==> 一百万零五百
你们直接调用 该方法:
public String formatInteger(int num) {
String[] units = {"","十","百","千","万","十万","百万","千万","亿","十亿","百亿","千亿","万亿" };
char[] numArray = {'零','一','二','三','四','五','六','七','八','九'};
char[] val = String.valueOf(num).toCharArray();
int len = val.length;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < len; i++) {
String m = val[i] + "";
int n = Integer.valueOf(m);
boolean isZero = n == 0;
String unit = units[(len - 1) - i];
if (isZero) {
if ('0' == val[i - 1]) {
continue;
} else {
sb.append(numArray[n]);
}
} else {
sb.append(numArray[n]);
sb.append(unit);
}
}
String str = sb.toString();
String substring = str.substring(str.length()-1, str.length());
if(substring.equals("零")){
str = str.substring(0, str.length()-1);
}
return str;
}