package classroom04String;
import java.util.Scanner;
/**
*
* @author Null
*功能:将数字转换成中文大写货币
*/
public class HomeworkString03 {
public static void main(String atgs[]){
char a[]={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};
String b[]={ "分","角","圆","十","百","千","万","十万","百万","千万","亿","十亿","百亿 ","千亿 ","兆"};
Scanner sc=new Scanner(System.in);
System.out.println("请输入13位以内的整数和2位以内的分数");
String number=sc.next();
if(number.indexOf(".")==-1){
number=number+".";
}
int where=number.indexOf(".");
String aNumber=number.substring(0,where);
String bNumber=number.substring(where+1);
if(aNumber.length()>13 || bNumber.length()>2){
System.out.println("输入错误,必须13位以内的整数和2位以内的分数");
System.exit(0);
}
char cWhere[]=aNumber.toCharArray();
char bWhere[]=bNumber.toCharArray();
for(int i=0;i<cWhere.length;i++){
int s=Integer.parseInt(""+cWhere[i]);
System.out.print(a[s]+b[cWhere.length-i+1]);
}
for(int i=0;i<bWhere.length;i++){
int s=Integer.parseInt(""+bWhere[i]);
System.out.print(a[s]+b[1-i]);///bWhere.length不固定有时为1有时为2
}
}
}
贴上运行结果:
这个结果因该没问题吧?好像以前填收据的时候就用这种格式。