金额转换,如输入:122,控制台输出:零佰零拾零万零仟壹佰贰拾贰元
package Demo;
import java.util.Scanner;
public class Test6 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int money;
while (true) {
//1.录入一串金额
System.out.println("请输入金额:");
money = sc.nextInt();
//定义范围
if (money >= 0 && money <= 9999999){
break;
}else {
System.out.println("输入金额无效");
}
}
//定义一个变量存放钱的大写
String moneyStr = "";
//2.得到money的每一位数字
while (money != 0){
int ge = money % 10;
//将数字转换成大写中文
String capitalNumber = getCapitalNumber(ge);
moneyStr = capitalNumber + moneyStr;
money = money / 10;
}
//3.在前面补齐零,补齐成七位
int count = 7-moneyStr.length();
for (int i = 0; i < count; i++) {
moneyStr = "零" + moneyStr;
}
//4.定义数组存放单位
String[] arr = {"佰","拾","万","仟","佰","拾","元"};
String result = "";
//将单位与数额拼接起来
for (int i = 0; i < arr.length; i++) {
result = result + moneyStr.charAt(i) + arr[i];
}
System.out.println(result);
}
//定义一个方法将数字转换成大写中文
public static String getCapitalNumber(int number){
String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[number];
}
}