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='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='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->345
abc345.678.91def->345.678


你可能感兴趣的:(Java:从字符串中提取整数、浮点型数值)