private static final String[] CHINESE_NUMBERS = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
private static final String[] CHINESE_UNITS = {"", "十", "百", "千", "万", "亿"};
@Test
void test(){
int number = 123456789;
System.out.println("数字 " + number + " 转换为汉字为: " + convertToChinese(number));
}
public static String convertToChinese(int number) {
if (number == 0) {
return CHINESE_NUMBERS[0];
}
StringBuilder result = new StringBuilder();
int unitIndex = 0;
boolean needZero = false;
while (number > 0 && unitIndex < CHINESE_UNITS.length) {
int currentNumber = number % 10;
if (currentNumber == 0) {
needZero = true;
} else {
if (needZero) {
result.insert(0, CHINESE_NUMBERS[0]);
needZero = false;
}
result.insert(0, CHINESE_NUMBERS[currentNumber] + CHINESE_UNITS[unitIndex]);
}
unitIndex++;
number /= 10;
}
return result.toString();
}
01-19
10-02
9466
12-14
1166
10-31
2915
03-21
252
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交