package Demo;
public class Money{
public static void main(String
args[])
{
Money mon = new Money();
System.out.println(mon.change("124"));
}
//把"1"转化成1时用下标找TOBIG[1]就是对应的
private static final String[] TOBIG = new
String[] { "零", "壹", "贰", "叁",
"肆", "伍", "陆", "柒", "捌", "玖"
};
//这里是单位从低到高的排列
private static final String POS[] = new String[] { "",
"拾", "佰", "仟", "万",
"拾", "佰", "仟", "亿", "拾", "佰", "仟", "万", "拾", "佰",
"仟", "亿" };
public String change(String str)
{
delZero(str);
String newStr ="";
for (int i = 0, j = str.length(); i < j;
i++)
{
String s = str.substring(j - i - 1, j - i);
newStr
= TOBIG[Integer.parseInt(s)].concat(POS[i])+newStr;
}
//
System.out.println(newStr);
newStr = newStr.replace("零仟", "零");
newStr
= newStr.replace("零佰", "零");
newStr = newStr.replace("零拾", "零");
newStr =
newStr.replace("零万", "万");
for(int i= 0;i<8;i++)
newStr =
newStr.replace("零零", "零");
newStr = newStr.replace("零仟", "仟");
newStr =
newStr.replace("零佰", "佰");
newStr = newStr.replace("零拾", "拾");
newStr =
newStr.replace("零万", "万");
newStr = newStr.replace("零亿",
"亿");
if(newStr.endsWith("零"))
newStr =
newStr.substring(0,newStr.length()-1);
return newStr;
}
//
去除用0开头的数
private String delZero(String str)
{
if
(str.startsWith("0"))
{
str = str.substring(str.indexOf("0") +
1);
System.out.println(str);
return delZero(str);
}
return str;
}
}
原文地址:http://www.cnblogs.com/zsj576637357/p/3734422.html