數字轉換為大寫
public class CN {
private static String[] CN_NUMBER = new String[]{"零", "壹", "貳", "叄", "肆", "伍", "陸", "柒", "捌", "玖"};
private static String[] UNITE = new String[]{"元", "拾", "佰", "千", "萬", "拾", "佰", "千", "億", "拾", "佰", "千", "兆"};
public static String number2CN(int number) {
int zeroRangeLength = 0;
boolean zeroBegin = false;
int placeHolderIndex = 0;
StringBuilder sb = new StringBuilder();
for (; ; ) {
if (number == 0) {
break;
}
int x = number % 10;
if (x > 0) {
sb.insert(0, UNITE[placeHolderIndex]);
sb.insert(0, CN_NUMBER[x]);
zeroBegin = false;
zeroRangeLength=0;
} else if (x == 0) {
if (!zeroBegin && placeHolderIndex!=zeroRangeLength) {
sb.insert(0, CN_NUMBER[0]);
zeroBegin = true;
}
if (placeHolderIndex % 4 == 0 && number % 10000 > 0) {
sb.insert(0, UNITE[placeHolderIndex]);
}
zeroRangeLength++;
}
placeHolderIndex++;
number = number / 10;
}
return sb.toString();
}
public static void main(String[] args) {
String s = number2CN(999990010);
System.out.println(s);
}
}