java数字转化为字符-1. 检查字符是否为数字
1 publicclassTrans2RMB {2 3 /**4 * 测试程序的可行性5 *@paramargs6 */7 publicstaticvoidmain(String[] args) {8 System。out。println("\n--------将数字转换成中文金额的大写形式------------\n");9 Trans2RMB t2r=newTrans2RMB();10 String s=t2r。cleanZero(t2r。splitNum(t2r。roundString(t2r。getNum())));11 //如果转换过后是一个空串java数字转化为字符,则不输出屏幕12 if(!""。equals(s)) {13 System。out。println("转换成中文后为:"+s);;14 }15 System。out。println("\n---------------------------------------------");16 }17 18 /**19 * 从命令行接收一个数,在其中调用 checkNum() 方法对其进行20 * 验证java数字转化为字符,并返回相应的值21 *@return如果输入合法,返回输入的这个数22 */23 privateString getNum() {24 String s=null;25 System。
out。println("请输入一个数字(精确到小数点后两位):");26 //从命令行输入这个浮点数27 java。util。Scanner scanner=newjava。util。Scanner(System。in);28 s=scanner。next();29 //关闭这个Scanner30 scanner。close();31 //判断用户输入是否合法32 //若合法,返回这个值;若非法返回 "0"33 if(this。checkNum(s)) {34 returns;35 }else{36 return"";37 }38 }39 40 /**41 * 判断用户输入的数据是否合法,用户只能输入大于零的数字,不能输入其它字符42 *@params String43 *@return如果用户输入数据合法,返回 true,否则返回 false44 */45 privatebooleancheckNum(String s) {46 //如果用户输入的数里有非数字字符,则视为非法数据,返回 false47 try{48 floatf=Float。valueOf(s);49 //如果这个数小于零则视为非法数据,返回 false50 if(f13) {109 System。
out。println("输入数据过大!(整数部分最多13位!)");110 return"";111 }112 //这个数的小数部分113 String smallOnly=s。substring(index+1);114 //如果小数部分大于两位,只截取小数点后两位115 if(smallOnly。length()>2) {116 String roundSmall=smallOnly。substring(0,2);117 //把整数部分和新截取的小数部分重新拼凑这个字符串118 s=intOnly+"。"+roundSmall;119 }120 returns;121 }122 123 /**124 * 把传入的数转换为中文金额大写形式125 *@paramflag int 标志位,1 表示转换整数部分,0 表示转换小数部分126 *@params String 要转换的字符串127 *@return转换好的带单位的中文金额大写形式128 */129 privateString numFormat(intflag, String s) {130 intsLength=s。length();131 //货币大写形式132 String bigLetter[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};133 //货币单位134 String unit[]={"元","拾","佰","仟","万",135 //拾万位到仟万位136 "拾","佰","仟",137 //亿位到万亿位138 "亿","拾","佰","仟","万"};139 String small[]={"分","角"};140 //用来存放转换后的新字符串141 String newS="";142 //逐位替换为中文大写形式143 for(inti=0; i