在实际开发过程中,会有遇到需要将传入的数字参数转化为汉字用来展示的情况,这里给出自己的思考,供给大家参考。
public static void convert(int number) {
//数字对应的汉字
String[] num = {"一", "二", "三", "四", "五", "六", "七", "八", "九"};
//单位
String[] unit = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万亿"};
//将输入数字转换为字符串
String result = String.valueOf(number);
//将该字符串分割为数组存放
char[] ch = result.toCharArray();
//结果 字符串
String str = "";
int length = ch.length;
for (int i = 0; i < length; i++) {
int c = (int) ch[i] - 48;
if (c != 0) {
str += num[c - 1] + unit[length - i - 1];
}
}
System.out.println(str);
}
总体思想就是使用字符串转换为字符数组,根据长度取不同的汉字单位。大家可以自行main方法测试下。
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入要进行的数字。。。");
String str = scanner.nextLine();
if ("-1".equals(str))
return;
ConvertUtils.convert(Integer.parseInt(str));
}
}
新建公众号,大家共同进步