编写一个包装类,将基本数据类型int转换为中文大写数字。例如,输入123,输出“一百二十三
时间: 2024-06-10 15:10:56 浏览: 13
public class IntToChinese {
private static final String[] CHINESE_NUMBER = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
private static final String[] CHINESE_UNIT = {"", "拾", "佰", "仟", "万", "亿"};
public static String intToChinese(int num) {
if (num == 0) {
return CHINESE_NUMBER[0];
}
StringBuilder sb = new StringBuilder();
int unitIndex = 0;
while (num > 0) {
int digit = num % 10;
if (digit > 0 || unitIndex % 4 == 0) { // 当前位为0且在万或亿位不需要显示
sb.insert(0, CHINESE_NUMBER[digit] + CHINESE_UNIT[unitIndex % 5]);
} else if (sb.charAt(0) != CHINESE_NUMBER[0]) { // 如果当前位为0,但前一位不为0,则在当前位置插入“零”
sb.insert(0, CHINESE_NUMBER[0]);
}
num /= 10;
unitIndex++;
}
// 去掉末尾的“零”,如果最后一位是“拾”、“佰”、“仟”则需要加上“零”
if (sb.charAt(sb.length() - 1) == CHINESE_NUMBER[0].charAt(0)) {
sb.deleteCharAt(sb.length() - 1);
}
if (sb.charAt(sb.length() - 1) == CHINESE_UNIT[1].charAt(0)
|| sb.charAt(sb.length() - 1) == CHINESE_UNIT[2].charAt(0)
|| sb.charAt(sb.length() - 1) == CHINESE_UNIT[3].charAt(0)) {
sb.append(CHINESE_NUMBER[0]);
}
return sb.toString();
}
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)