如何将阿拉伯数字转化成大写的人民币数字?
如何将阿拉伯数字转化成大写的人民币数字?
publicStringgetNumberToRMB(Stringm){
Stringnum="零壹贰叁肆伍陆柒捌玖";
Stringdw="圆拾佰仟万亿";
Stringmm[]=null;
mm=m.split("/.");
Stringmoney=mm[0];
Stringresult=num.charAt(Integer.parseInt(""+mm[1].charAt(0)))+"角"+
num.charAt(Integer.parseInt(""+mm[1].charAt(1)))+"分";
for(inti=0;i<money.length();i++){
Stringstr="";
intn=Integer.parseInt(money.substring(money.length()-i-1,
money.length()-i));
str=str+num.charAt(n);
if(i==0){
str=str+dw.charAt(i);
}
elseif((i+4)%8==0){
str=str+dw.charAt(4);
}
elseif(i%8==0){
str=str+dw.charAt(5);
}
else{
str=str+dw.charAt(i%4);
}
result=str+result;
}
result=result.replaceAll("零([^亿万圆角分])","零");
result=result.replaceAll("亿零+万","亿零");
result=result.replaceAll("零+","零");
result=result.replaceAll("零([亿万圆])","$1");
result=result.replaceAll("壹拾","拾");
returnresult;
}
Stringnum="零壹贰叁肆伍陆柒捌玖";
Stringdw="圆拾佰仟万亿";
Stringmm[]=null;
mm=m.split("/.");
Stringmoney=mm[0];
Stringresult=num.charAt(Integer.parseInt(""+mm[1].charAt(0)))+"角"+
num.charAt(Integer.parseInt(""+mm[1].charAt(1)))+"分";
for(inti=0;i<money.length();i++){
Stringstr="";
intn=Integer.parseInt(money.substring(money.length()-i-1,
money.length()-i));
str=str+num.charAt(n);
if(i==0){
str=str+dw.charAt(i);
}
elseif((i+4)%8==0){
str=str+dw.charAt(4);
}
elseif(i%8==0){
str=str+dw.charAt(5);
}
else{
str=str+dw.charAt(i%4);
}
result=str+result;
}
result=result.replaceAll("零([^亿万圆角分])","零");
result=result.replaceAll("亿零+万","亿零");
result=result.replaceAll("零+","零");
result=result.replaceAll("零([亿万圆])","$1");
result=result.replaceAll("壹拾","拾");
returnresult;
}