余额如果是整数的话最后带整字.
在这里插入代码片
```private static String[] STRNUM = {"壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private static String[] STRUNIT = {"","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟"};
public String Zheng(BigDecimal money){
StringBuilder stringBuilder = new StringBuilder();
BigDecimal formatMonye = money.setScale(2,BigDecimal.ROUND_HALF_UP);
long iMoney = formatMonye.movePointRight(2).longValue();
int length = Long.toString(iMoney).length();
long divided = 0;
int num = 0;
int zeroFlag = 0;
for (int i = length; i>2; i++){
divided = (long) Math.pow(10, i-1);
num = (int) (iMoney / divided);
if (num == 0){
zeroFlag = 1;
}else {
if (zeroFlag == 1){
if (i != 6 && i != 10){
stringBuilder.append(STRNUM[0]);
}
zeroFlag = 0;
}
stringBuilder.append(STRNUM[num]);
}
if (num != 0 || i == 7 || i == 11){
stringBuilder.append(STRUNIT[i-3]);
}
iMoney = iMoney % divided;
}
if (iMoney % 100 == 0){
stringBuilder.append("元整");
}else {
stringBuilder.append("元");
stringBuilder.append(STRNUM[(int)(iMoney % 100 / 10)]);
if (iMoney % 10 == 0){
stringBuilder.append("角整");
}else {
if (iMoney % 100 / 10 != 0){
stringBuilder.append("角");
}
stringBuilder.append(STRNUM[(int)iMoney % 10]);
stringBuilder.append("分");
}
}
String str = stringBuilder.toString().replace("零零", "零").replace("亿万", "亿");
if (str.startsWith("元")){
str = str.replace("元","");
}
return str;
}