private Integer str2Int(String s){ Integer x=0; try{ x=parseInt(s); }catch (NumberFormatException e){//不能转换则用ascii码查字符转 char[] array=s.toCharArray(); for(int i=0;i<array.length;i++){ int j=Integer.valueOf(array[i]); Integer h=array.length-i-1; if(j>47&&j<58){ switch (j){//或者可不要上一判段,直接switch char case '0' '1' '2'…… case 48: break;//0 case 49: x+= h==0 ?1:1*h*10;break; case 50: x+= h==0 ?2:2*h*10;break; case 51: x+= h==0 ?3:3*h*10;break; case 52: x+= h==0 ?4:4*h*10;break; case 53: x+= h==0 ?5:5*h*10;break; case 54: x+= h==0 ?6:6*h*10;break; case 55: x+= h==0 ?7:7*h*10;break; case 56: x+= h==0 ?8:8*h*10;break; case 57: x+= h==0 ?9:9*h*10;break; } }else{ return 0; } } } return x; }
其实try 异常就可以返回0了。