java代碼 數字轉中文,該方法只做了對int型整數的轉換
private static String numberToChinese(int number) {
String[] numbers = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
String[] units = {"", "十", "百", "千", "萬", "十", "百", "千", "億", "十"};
String sign = number < 0 ? "負" : "";
if (number < 0) {
number = -number;
}
StringBuilder result = new StringBuilder(sign);
String string = String.valueOf(number);
int n = string.length();
char[] numberCharArray = string.toCharArray();
for (int i = 0; i < n; i++) {
int digNum = n - i; // 位數
int num = numberCharArray[i] - '0';
if (num != 0) {
result.append(numbers[num]).append(units[digNum - 1]);
continue;
}
if (result.toString().endsWith(numbers[0])) {
// 如果是單位所在的位數,則去除上一個0,加上單位
if (digNum % 4 == 1) {
result.deleteCharAt(result.length() - 1);
result.append(units[digNum - 1]);
}
}else{
result.append(numbers[0]);
}
}
return result.toString();
}