Java实现将数字转换成中文大写
时间: 2024-01-07 21:03:13 浏览: 22
以下是 Java 实现将数字转换成中文大写的示例代码:
```java
import java.util.Scanner;
public class NumberToChinese {
private static final String[] CN_NUMBERS = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
private static final String[] CN_UNITS = {"", "十", "百", "千", "万"};
public static String convert(int n) {
if (n < 0) {
return "负" + convert(-n);
}
if (n < 10) {
return CN_NUMBERS[n];
}
if (n < 100) {
if (n % 10 == 0) {
return CN_UNITS[1 + n / 10];
} else {
return CN_UNITS[1 + n / 10] + CN_NUMBERS[n % 10];
}
}
if (n < 1000) {
if (n % 100 == 0) {
return CN_NUMBERS[n / 100] + "百";
} else if (n % 100 < 10) {
return CN_NUMBERS[n / 100] + "百零" + convert(n % 100);
} else {
return CN_NUMBERS[n / 100] + "百" + convert(n % 100);
}
}
if (n < 10000) {
if (n % 1000 == 0) {
return CN_NUMBERS[n / 1000] + "千";
} else if (n % 1000 < 100) {
return CN_NUMBERS[n / 1000] + "千零" + convert(n % 1000);
} else {
return CN_NUMBERS[n / 1000] + "千" + convert(n % 1000);
}
}
if (n < 100000000) {
if (n % 10000 == 0) {
return convert(n / 10000) + "万";
} else if (n % 10000 < 1000) {
return convert(n / 10000) + "万零" + convert(n % 10000);
} else {
return convert(n / 10000) + "万" + convert(n % 10000);
}
}
return "";
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(convert(n));
}
}
```
运行以上代码,输入一个整数,即可输出该整数的中文大写形式。例如,输入 123456789,输出结果为:
```
一亿二千三百四十五万六千七百八十九
```