Java从字符串中提取整数、浮点型数值 public class Main ... { public static void main(String[] args) ...{ String str = "abc345def"; int i = getIntValue(str); System.out.println(str+"->"+i); String str2 = "abc345.678.91def"; double d = getDoubleValue(str2); System.out.println(str2+"->"+d); } /** *//** * 解析str,获得其中的整数 * @param str * @return */ private static int getIntValue(String str) ...{ int r = 0; if(str!=null && str.length()!=0) ...{ StringBuffer bf = new StringBuffer(); char[] chars = str.toCharArray(); for(int i=0;i<chars.length;i++) ...{ char c = chars[i]; if(c>='0' && c<='9') ...{ bf.append(c); } else if(c==',') ...{ continue; } else ...{ if(bf.length()!=0) ...{ break; } } } try ...{ r = Integer.parseInt(bf.toString()); } catch(Exception e) ...{} } return r; } /** *//** * 解析字符串获得双精度型数值, * @param str * @return */ private static double getDoubleValue(String str) ...{ double d = 0; if(str!=null && str.length()!=0) ...{ StringBuffer bf = new StringBuffer(); char[] chars = str.toCharArray(); for(int i=0;i<chars.length;i++) ...{ char c = chars[i]; if(c>='0' && c<='9') ...{ bf.append(c); } else if(c=='.') ...{ if(bf.length()==0) ...{ continue; } else if(bf.indexOf(".")!=-1) ...{ break; } else ...{ bf.append(c); } } else ...{ if(bf.length()!=0) ...{ break; } } } try ...{ d = Double.parseDouble(bf.toString()); } catch(Exception e) ...{} } return d; } } 输出:abc345def->345abc345.678.91def->345.678