把小写数字金额转为大写汉字金额
2026/6/24 22:50:17 网站建设 项目流程

1问题

将数字转化为对应的大写汉字

清晰的描述本文待解决的问题是什么,是全文的重点所在,开发者在搜索文章的时候,如果问题与他契合,则会更有兴趣并完成全文的阅读。

2方法

主要运用数组和字符串的length(),charAT()方法实现

  1. 示例:把2135变成:零佰零拾零万贰仟壹佰叁拾伍元
  2. 首先肯定要引用Scanner方法从键盘录入数字字符串,使用Scanner的 .next()方法,而不是nextInt(),nextln()方法.
  3. 实现了键盘录入以后,开始考虑如何将数字形式的字符串转化为大写形式,这里可以写一个方法来实现小写数字转换为大写汉字数字.然后再创建一个用来储存个十百千万的单位字符数组.
  4. 这些实现以后最后只需要用字符串的拼接,将两个接受结果的变量进行拼接,得到最终的大写金额.
  5. 输入示例
  6. 输出结果

代码清单 1

package online.middle_up.study.string.test;
import java.util.Scanner;
/*
把2135变成:零佰零拾零万贰仟壹佰叁拾伍元
把789变成:零佰零拾零万零仟柒佰捌拾玖元
*/
public class stringTest06 {
public static void main(String[] args) {
//录入数字
Scanner sc = new Scanner(System.in);
int money;
while(true){
System.out.println("请录入一个金额");
money = sc.nextInt();
///判断金额是否非法
if(money >= 0 && money <= 9999999){
break;
} else {
System.out.println("金额无效");
}
}
String s = "";
String[] arr = {"佰","拾","万","仟","佰","拾","元"};
while(true){
int ge = money % 10;
String s2 = getNumber(ge);
s = s2 + s;
money = money / 10;
if(money == 0) {
break;
}
}
int count = 7 - s.length();
for (int i = 0; i < count; i++) {
s = "零" + s;
}
System.out.println(s);
//得到S
//组合
String result = "";
for (int i = 0; i < arr.length; i++) {
result = result + s.charAt(i) + arr[i] ;
}
System.out.println(result);
}
public static String getNumber(int num){
String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String str = arr[num];
return str;
}
}

3结语

针对把小写数字金额转化为大写汉字金额问题,提出使用数组,字符串的拼接,charAT(),length()方法,再嵌套循环的方法,通过实验,证明该方法是有效的。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询