okokokk
金额转换题,个位数显示不出

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"));

}

}