金额转换思想:
2135
转大写:(查表法)1.取各位上的数—2.大写(数组)值的数组索引是各位的数
贰壹叁伍
前面补0:
零零零贰壹叁伍
插入单位:
零佰零拾零万贰仟壹佰叁拾伍元
一:转大写
1.得到money里面的每一位数字
1 2 3 4 5 6 7 8 9 10
| while(true){ int ge=money%10; money=money/10; if(money==0){ break; } }
|
2.创建大写数组
1 2 3 4
| public static String getCapitalNumber(int number){ String[] arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; return arr[number]; }
|
3.每位上的数就是大写数组的索引
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| String strMoney=""; while(true){ int ge=money%10; String capitalNumber=getCapitalNumber(ge); strMoney=capitalNumber+strMoney; money=money/10; if(money==0){ break; } }
|
二:前面补零(补齐7位)
1 2 3 4
| int ZeroCount=7-strMoney.length; for(int i=0;i<ZeroCount;i++){ strMoney="零"+strMoney; }
|
三:插入单位
1 2 3 4 5 6 7 8
| String[] arr = {"佰","拾","万","仟","佰","拾","元"};
String result=""; for(int i=0;i<strMoney.length();i++){ char c=strMoney.charAt(i); result=result+c+arr[i]; }
|