今天在超市,忽然想到可以写一段代码实现当收银员输入阿拉伯数字的人民币时,能够以规范的大写形式将其自动打印到发票上。
注:转换规范如下示例:
(1) 100000010100.09
人民币壹仟亿零壹万零壹佰元零角玖分
(2) 123456789.00
人民币壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元整
(3) 1000000000.09
人民币拾亿元零角玖分
以下是我使用java实现该功能的代码:
import java.util.Scanner;
public class RMBSwitch {
public static void main(String[] args){
System.out.println("please input a double number");
Scanner scanner=new Scanner(System.in);//最多允许输入:左边12位,右边必须两位
String RMBArabic=scanner.next();
String RMBCN="人民币";
String[] totalInput=RMBArabic.split("\\.");
System.out.println("The result is");
System.out.println(RMBCN+leftToCN(totalInput[0])+rightToCN(totalInput[1]));
scanner.close();
}
//转换左边整数部分
public static String leftToCN(String left){
String leftCN="";
String[] ZHCN={
"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
String[] unitCN={
"","拾","佰","仟"};
if (left.length()<=4) {
for (int i =