将数字转化为中文大写数字,就像银行发票的那种一样
package test.dyihe3;
import java.util.Scanner;
public class StringDemo5 {
public static void main(String[] args) {
//查表法:将数字和索引联系起来
Scanner sc = new Scanner(System.in);
int money;
String moneyStr = "";
while (true) {
System.out.println("请输入一个金额");
money = sc.nextInt();
if (money >= 0 && money <= 9999999 ){
break;
}else{
System.out.println("金额无效");
}
}
while (true){
int ge = money % 10;
String capitalNumber = getCapitalNumber(ge);
moneyStr = capitalNumber+moneyStr ;
money = money / 10;
if (money == 0){
break;
}
}
int count = 7- moneyStr.length();
for (int i = 0; i < count; i++) {
moneyStr = "零" + moneyStr;
}
//插入单位
String result = "";
String[] arr = {"佰","拾","万","仟","佰","拾","元"};
for (int i = 0; i < moneyStr.length(); i++) {
char c = moneyStr.charAt(i);
result = result + c + arr[i];
}
System.out.println(result);
}
//定义方法,把数字变成大写的中文
public static String getCapitalNumber(int number){
String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[number];
}
}