Java金钱小写转大写

 import java.io.*;

 import java.lang.*;

public class change{ public String NoTranslate(String sNumber){

String[] oneUnit = {"元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","兆","拾","佰","仟"};

String[] twoUnit = {"分","角"}; String[] sChinese = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};

int pointPos = sNumber.indexOf("."); //小数点的位置

String sInteger;//记录整数部分

String sDecimal;//记录小数部分

String value="";//记录返回结果

if(pointPos!=-1){

//分解并记录整数部分,注意substring()的用法

sInteger=sNumber.substring(0,pointPos); //分解并记录小数部分

sDecimal=sNumber.substring(pointPos+1, pointPos+3<sNumber.length()?pointPos+3:sNumber.length());

}else{ //没有小数部分的情况

sInteger=sNumber; sDecimal=""; } //格式化整数部分,并记录到返回结果

for(int i=0;i<sInteger.length();i++){

int temp = Integer.parseInt(sInteger.substring(i,i+1));

 value += sChinese[temp]+oneUnit[sInteger.length()-i-1]; } //格式化小数部分,并记录到返回结果

for(int i=0;i<sDecimal.length();i++){

 int temp = Integer.parseInt(sDecimal.substring(i,i+1));

value += sChinese[temp]+twoUnit[sDecimal.length()-i-1];

}

//返回结果 return(value);

}

public static void main(String argument[]){

 String value="";

try{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

value=br.readLine(); }catch(IOException e){} change c=new change();

 System.out.println(c.NoTranslate(value));

}

 }

posted @ 2011-08-01 11:00  望风  阅读(430)  评论(0编辑  收藏  举报