package com.chamago.bison.util;
import java.io.PrintStream;
public class CommonUtil
{
public static String convertMoneyToLarge(String s)
{
if (s.length() == 0) {
return "";
}
if (s.trim().equalsIgnoreCase("0")) {
return "零元整";
}
for (int i = s.length() - 1; i >= 0; i--) {
s = StringUtil.replaceString(s, ",", "");
s = StringUtil.replaceString(s, " ", "");
s = StringUtil.replaceString(s, "¥", "");
}
String part0 = "";
String part1 = "";
int pos = s.indexOf(".");
if (s.indexOf(".") != -1) {
part0 = s.substring(0, pos);
part1 = s.substring(pos + 1);
} else {
part0 = s;
part1 = "";
}
String newchar = "";
for (int i = part0.length() - 1; i >= 0; i--) {
String tmpnewchar = "";
char perchar = part0.charAt(i);
switch (perchar) {
case '0':
tmpnewchar = "零" + tmpnewchar;
break;
case '1':
tmpnewchar = "壹" + tmpnewchar;
break;
case '2':
tmpnewchar = "贰" + tmpnewchar;
break;
case '3':
tmpnewchar = "叁" + tmpnewchar;
break;
case '4':
tmpnewchar = "肆" + tmpnewchar;
break;
case '5':
tmpnewchar = "伍" + tmpnewchar;
break;
case '6':
tmpnewchar = "陆" + tmpnewchar;
break;
case '7':
tmpnewchar = "柒" + tmpnewchar;
break;
case '8':
tmpnewchar = "捌" + tmpnewchar;
break;
case '9':
tmpnewchar = "玖" + tmpnewchar;
}
switch (part0.length() - i - 1) {
case 0:
tmpnewchar = tmpnewchar + "元";
break;
case 1:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "拾";
break;
case 2:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "佰";
break;
case 3:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "仟";
break;
case 4:
tmpnewchar = tmpnewchar + "万";
break;
case 5:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "拾";
break;
case 6:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "佰";
break;
case 7:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "仟";
break;
case 8:
tmpnewchar = tmpnewchar + "亿";
break;
case 9:
tmpnewchar = tmpnewchar + "拾";
}
newchar = tmpnewchar + newchar;
}
if (s.indexOf(".") != -1) {
if (part1.length() > 2) {
part1 = part1.substring(0, 2);
}
for (int i = 0; i < part1.length(); i++) {
String tmpnewchar = "";
char perchar = part1.charAt(i);
switch (perchar) {
case '0':
tmpnewchar = "零" + tmpnewchar;
break;
case '1':
tmpnewchar = "壹" + tmpnewchar;
break;
case '2':
tmpnewchar = "贰" + tmpnewchar;
break;
case '3':
tmpnewchar = "叁" + tmpnewchar;
break;
case '4':
tmpnewchar = "肆" + tmpnewchar;
break;
case '5':
tmpnewchar = "伍" + tmpnewchar;
break;
case '6':
tmpnewchar = "陆" + tmpnewchar;
break;
case '7':
tmpnewchar = "柒" + tmpnewchar;
break;
case '8':
tmpnewchar = "捌" + tmpnewchar;
break;
case '9':
tmpnewchar = "玖" + tmpnewchar;
}
if (i == 0) {
tmpnewchar = tmpnewchar + "角";
}
if (i == 1) {
tmpnewchar = tmpnewchar + "分";
}
newchar = newchar + tmpnewchar;
}
}
while (newchar.indexOf("零零") != -1)
newchar = StringUtil.replaceString(newchar, "零零", "零");
while (newchar.indexOf("零亿") != -1)
newchar = StringUtil.replaceString(newchar, "零亿", "亿");
while (newchar.indexOf("亿万") != -1)
newchar = StringUtil.replaceString(newchar, "亿万", "亿");
while (newchar.indexOf("零万") != -1)
newchar = StringUtil.replaceString(newchar, "零万", "万");
while (newchar.indexOf("零元") != -1)
newchar = StringUtil.replaceString(newchar, "零元", "元");
while (newchar.indexOf("零角") != -1)
newchar = StringUtil.replaceString(newchar, "零角", "");
while (newchar.indexOf("零角") != -1) {
newchar = StringUtil.replaceString(newchar, "零分", "");
}
if ((newchar.indexOf("元") == -1) || (newchar.indexOf("角") == -1)) {
newchar = newchar + "整";
}
while (newchar.indexOf("亿万") != -1) {
newchar = StringUtil.replaceString(newchar, "亿万", "亿");
}
return newchar;
}
public static String convertNumToLarge(String s)
{
if (s.length() == 0) {
return "";
}
if (s.trim().equalsIgnoreCase("0")) {
return "零份";
}
for (int i = s.length() - 1; i >= 0; i--) {
s = StringUtil.replaceString(s, ",", "");
s = StringUtil.replaceString(s, " ", "");
s = StringUtil.replaceString(s, "¥", "");
}
String part0 = "";
String part1 = "";
int pos = s.indexOf(".");
if (s.indexOf(".") != -1) {
part0 = s.substring(0, pos);
part1 = s.substring(pos + 1);
} else {
part0 = s;
part1 = "";
}
String newchar = "";
for (int i = part0.length() - 1; i >= 0; i--) {
String tmpnewchar = "";
char perchar = part0.charAt(i);
switch (perchar) {
case '0':
tmpnewchar = "零" + tmpnewchar;
break;
case '1':
tmpnewchar = "壹" + tmpnewchar;
break;
case '2':
tmpnewchar = "贰" + tmpnewchar;
break;
case '3':
tmpnewchar = "叁" + tmpnewchar;
break;
case '4':
tmpnewchar = "肆" + tmpnewchar;
break;
case '5':
tmpnewchar = "伍" + tmpnewchar;
break;
case '6':
tmpnewchar = "陆" + tmpnewchar;
break;
case '7':
tmpnewchar = "柒" + tmpnewchar;
break;
case '8':
tmpnewchar = "捌" + tmpnewchar;
break;
case '9':
tmpnewchar = "玖" + tmpnewchar;
}
switch (part0.length() - i - 1)
{
case 1:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "拾";
break;
case 2:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "佰";
break;
case 3:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "仟";
break;
case 4:
tmpnewchar = tmpnewchar + "万";
break;
case 5:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "拾";
break;
case 6:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "佰";
break;
case 7:
if (perchar == '0') break;
tmpnewchar = tmpnewchar + "仟";
break;
case 8:
tmpnewchar = tmpnewchar + "亿";
break;
case 9:
tmpnewchar = tmpnewchar + "拾";
}
newchar = tmpnewchar + newchar;
}
if (s.indexOf(".") != -1) {
if (part1.length() > 2) {
part1 = part1.substring(0, 2);
}
newchar = newchar + "点";
for (int i = 0; i < part1.length(); i++) {
String tmpnewchar = "";
char perchar = part1.charAt(i);
switch (perchar) {
case '0':
tmpnewchar = "零" + tmpnewchar;
break;
case '1':
tmpnewchar = "壹" + tmpnewchar;
break;
case '2':
tmpnewchar = "贰" + tmpnewchar;
break;
case '3':
tmpnewchar = "叁" + tmpnewchar;
break;
case '4':
tmpnewchar = "肆" + tmpnewchar;
break;
case '5':
tmpnewchar = "伍" + tmpnewchar;
break;
case '6':
tmpnewchar = "陆" + tmpnewchar;
break;
case '7':
tmpnewchar = "柒" + tmpnewchar;
break;
case '8':
tmpnewchar = "捌" + tmpnewchar;
break;
case '9':
tmpnewchar = "玖" + tmpnewchar;
}
newchar = newchar + tmpnewchar;
}
}
while (newchar.indexOf("零零") != -1)
newchar = StringUtil.replaceString(newchar, "零零", "零");
while (newchar.indexOf("零亿") != -1)
newchar = StringUtil.replaceString(newchar, "零亿", "亿");
while (newchar.indexOf("亿万") != -1)
newchar = StringUtil.replaceString(newchar, "亿万", "亿");
while (newchar.indexOf("零万") != -1)
newchar = StringUtil.replaceString(newchar, "零万", "万");
while (newchar.indexOf("零份") != -1)
newchar = StringUtil.replaceString(newchar, "零份", "份");
while (newchar.indexOf("零角") != -1)
newchar = StringUtil.replaceString(newchar, "零角", "");
while (newchar.indexOf("零角") != -1) {
newchar = StringUtil.replaceString(newchar, "零分", "");
}
while (newchar.indexOf("亿万") != -1) {
newchar = StringUtil.replaceString(newchar, "亿万", "亿");
}
return newchar;
}
public static String delimMoney(String myStr)
{
if (myStr.length() == 0) {
return "";
}
int pos = myStr.indexOf(".");
String str = "";
String str1 = "";
if (pos == -1) {
str = myStr;
str1 = "";
} else {
str = myStr.substring(0, pos);
str1 = myStr.substring(pos);
}
for (int i = str.length() - 1; i >= 0; i--) {
str = StringUtil.replaceString(str, ",", "");
str = StringUtil.replaceString(str, " ", "");
}
int len = str.length();
if (len == 0) {
return "";
}
String s = "";
for (int i = 0; i < len; i++) {
String ch = str.substring(len - i - 1, len - i);
s = ch + s;
if (((i + 1) % 3 != 0) ||
(i == len - 1)) continue;
s = "," + s;
}
return s + str1;
}
public static void main(String[] argv) {
System.out.println(convertMoneyToLarge("10334554000870.89"));
System.out.println(delimMoney("10334554000870.89"));
}
}