JAVA银行金额大写汉字转换
业务需求:
银行电子支票业务在金额部分需要使用大写的汉字,因此需要将用户录入的数字信息转变为汉字。
package train2;
import java.util.Scanner;
public class money {
public static void main(String[] args) {
//1.键盘输入金额
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("金额无效");
}
}
//定义一个变量表示钱的中文大写
StringBuilder moneysyt = new StringBuilder();
//2.得到money里的每一位数据转换成相应中文
do {
int qina = money % 10;
String Get = get(qina);
moneysyt.insert(0, Get);
//去掉获取的数据
money = money / 10;
} while (money != 0);
//3.判断金额是否够七位,不够补零
int count = 7 - moneysyt.length();
for (int i = 0; i < count; i++) {
moneysyt.insert(0, "零");
}
//4.插入单位
//定义一个数组表示单位
String[] arr = {"佰", "拾", "万", "仟", "佰", "拾", "元"};
//遍历moneysyt在每位数后插入空,将单位依次填充
StringBuilder result = new StringBuilder();
for (int i = 0; i < moneysyt.length(); i++) {
char c = moneysyt.charAt(i);
//把大写的数字和单位拼接到result中
result.append(c).append(arr[i]);
}
//打印
System.out.println(result);
}
public static String get(int number) {
String[] arr = {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};
return arr[number];
}
}