public class Change {
public String change(String m){
StringBuffer re=new StringBuffer("");
int i=0;
int j=0;
i=m.lastIndexOf(".");
if(i==-1) i=m.length();
String b=m.substring(0, i);
char[] c=b.toCharArray();
StringBuffer s=null;
for(i=c.length-1,j=0;
i>=0;i--,j++){
s=new StringBuffer("");
if(i!=c.length-1 && c[i+1]!='0') s.append(changeNum(c));
if(c!='0'){
switch (j%4){
case 1:s.append("拾");
break;
case 2:s.append("佰");
break;
case 3:s.append("仟");
break;
default :break;
}
}
if(j!=0 && j%8==0) s.append("亿");
else if (j!=0 && j%4==0){
s.append("万");
}
re=s.append(re);
}
re.append("元");
i=m.lastIndexOf(".");
String d=null;
if(i!=-1){
d=m.substring(i+1,m.length());
char[] e=d.toCharArray();
if(e.length==1) if(e[0]!='0')
re.append("零").append(changeNum(e[0])).append("角").toString();
if(e.length==2) if(e[0]!='0' || e[1]!='0')
re.append("零");
if(e[0]!='0')
re.append(changeNum(e[0])).append("角").toString();
if(e[1]!='0')
re.append(changeNum(e[1])).append("分").toString();
}
return re.toString();
}
public String changeNum(char c){
String[] n={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; return n[c-'0'];
}
public static void main(String[] args) {
Change c=new Change(); System.out.print(c.change("123458.78"));
}
}