0%

金额转换思想

金额转换思想:

​ 2135

​ 转大写:(查表法)1.取各位上的数—2.大写(数组)值的数组索引是各位的数

​ 贰壹叁伍

​ 前面补0:

​ 零零零贰壹叁伍

​ 插入单位:

零佰零拾零万贰仟壹佰叁拾伍元

一:转大写

1.得到money里面的每一位数字

1
2
3
4
5
6
7
8
9
10
while(true){//159
//从右往左获取数据,因为右侧是数据的个位
int ge=money%10;
//去掉刚刚获取的数据
money=money/10;
//如果数字上的每一位全部获取到了,那么money记录的就是0,此时循环结束
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){//159
//从右往左获取数据,因为右侧是数据的个位
int ge=money%10;
String capitalNumber=getCapitalNumber(ge);
//反向拼接
strMoney=capitalNumber+strMoney;
//去掉刚刚获取的数据
money=money/10;
//如果数字上的每一位全部获取到了,那么money记录的就是0,此时循环结束
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
//1.定义数组单位
String[] arr = {"佰","拾","万","仟","佰","拾","元"};
//2.遍历strMoney,然后把大写数字和单位拼接到字符串中
String result="";
for(int i=0;i<strMoney.length();i++){
char c=strMoney.charAt(i);
result=result+c+arr[i];
}