public String chinese_Capital(String num) {
String s = "";
String[] a = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
String[] b = { "元", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰",
"仟", "万", "拾", "佰", "仟"};//16位
int length = num.length();
int zeroCount = 0;
//for循环实现了连续的零只取一个,并且个,万,亿位如果为零只取单位不取零
for (int i = 0; i < length; i++) {
if(num.charAt(i) - 48 == 0) {
zeroCount ++;
if(length - i - 1 == 4 || length - i - 1 == 8 || length - i - 1 ==0) {
s += b[length - i - 1];
} else if(zeroCount == 1){
s += a[num.charAt(i) - 48];
}
} else {
zeroCount = 0;
s += (a[num.charAt(i) - 48] + b[length - i - 1]);
}
}
s = s.replaceAll("零元", "元");
s = s.replaceAll("零亿", "亿");
s = s.replaceAll("零万", "万");
s = s.replaceAll("亿万", "亿");
return s;
}
我的一个实现函数,整数部分的。 |