private String changeToBig(String input) {
String s1 = "零壹贰叁肆伍陆柒捌玖";
String s4 = "分角整元拾佰仟万拾佰仟亿拾佰仟";
String temp = "";
String result = "";
if (input == null || input.length() < 1) {
return "";
}
temp = input.trim();
float f;
try {
f = Float.parseFloat(temp);
} catch (Exception e) {return "";
}
int len = 0;
if (temp.indexOf(".") == -1) {
len = temp.length();
} else {
len = temp.indexOf(".");
}
if (len > s4.length() - 3) {
return ("");
}
int n1, n2 = 0;
String num = "";
String unit = "";
int add = 0;
if (len > 7) {
return input;
}
//处理佰万
if (len == 7) {
add = 3;
n1 = Integer.parseInt(String.valueOf(temp.charAt(0)));
result = result.concat(s1.substring(n1, n1 + 1)).concat("佰");
if (Integer.parseInt(String.valueOf(temp.charAt(1))) == 0 &&
Integer.parseInt(String.valueOf(temp.charAt(2))) == 0) {
result = result.concat("万");
}
if (Integer.parseInt(String.valueOf(temp.charAt(1))) == 0 &&
Integer.parseInt(String.valueOf(temp.charAt(2))) != 0) {
n1 = Integer.parseInt(String.valueOf(temp.charAt(2)));
result = result.concat("零").concat(s1.substring(n1, n1 + 1)).
concat("万");
}
if (Integer.parseInt(String.valueOf(temp.charAt(1))) != 0 &&
Integer.parseInt(String.valueOf(temp.charAt(2))) == 0) {
n1 = Integer.parseInt(String.valueOf(temp.charAt(1)));
result = result.concat(s1.substring(n1, n1 + 1)).concat("拾万");
}
len = 4;
}
//处理拾万
if (len == 6) {
add = 2;
n1 = Integer.parseInt(String.valueOf(temp.charAt(0)));
//System.out.print(n1);
result = result.concat(s1.substring(n1, n1 + 1)).concat("拾");
if (Integer.parseInt(String.valueOf(temp.charAt(1))) == 0) {
result = result.concat("万");
}
if (Integer.parseInt(String.valueOf(temp.charAt(1))) != 0) {
n1 = Integer.parseInt(String.valueOf(temp.charAt(1)));
result = result.concat(s1.substring(n1, n1 + 1)).concat("万");
}
len = 4;
}
//处理万
if (len == 5) {
add = 1;
n1 = Integer.parseInt(String.valueOf(temp.charAt(0)));
result = result.concat(s1.substring(n1, n1 + 1)).concat("万");
len = 4;
}
for (int i = 0; i < len; i++) {
n1 = Integer.parseInt(String.valueOf(temp.charAt(i + add)));
num = s1.substring(n1, n1 + 1);
if (n1 != 0) {
n1 = len - i + 2;
//System.out.print(n1);
unit = s4.substring(n1, n1 + 1);
//System.out.println(unit);
} else {
unit = "";
}
if (i != 0 &&
Integer.parseInt(String.valueOf(temp.charAt(i - 1 + add))) == 0 &&
Integer.parseInt(String.valueOf(temp.charAt(i + add))) == 0) {
num = "";
unit = "";
}
result = result.concat(num).concat(unit);
}
while (result.endsWith("零") && result.length() > "零".length()) {
result = result.substring(0, result.length() - "零".length());
}
result = result.concat("元");
//处理角分
if (temp.indexOf(".") == -1) {
len = temp.length();
result = result.concat("整");
} else {
len = temp.indexOf(".");
}
if (len < temp.length()) {
unit = "";
for (int i = 0; i < temp.length() - len - 1; i++) {
n1 = Integer.parseInt(String.valueOf(temp.charAt(i + len + 1)));
num = s1.substring(n1, n1 + 1);
if (n1 != 0) {
if (i == 0) {
unit = "角";
} else {
if (i == 1) {
unit = "分";
} else {
unit = "";
}
}
} else {
unit = "";
}
result = result.concat(num).concat(unit);
}
}
while (result.endsWith("零") && result.length() > "零".length()) {
result = result.substring(0, result.length() - "零".length());
}
result = result.replaceAll("元元", "元");
//result = result.replaceAll("零零","零").replaceAll("0","").replaceAll("十","拾万").replaceAll("百","佰万").replaceAll("千","仟万").replaceAll("义","亿").replaceAll(" ","");
return result;
}