|  
 
 
java如何判断一个字符串里的数字是整数还是小数 
例: String a = "1235.2342"; String b = "782"; String c = "ss123"; 
可以用下面进行判断是否是数值,但是能不能判断出 如果是数值,就返回是什么类型呢(int 或者 double)。 
//判断是否是字符 public static boolean isNum(String str){     return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$"); }  
判断是整数, 
public static boolean isDigits(String str) {  return str.matches("[-+]?[0-9]*"); } 
**    * 正则表达式可能不严谨(写的比较唐突)    * @param source    * @return 返回0表示非数值,返回1表示是int型,返回2表示是double型    */   public static int type(String source){    int result = 0;    String regex1 = "^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$";    boolean flag1 = source.matches(regex1);    if(flag1){     String regex2 = "^[-+]?([0-9]+)$";     boolean flag2 = source.matches(regex2);     if(flag2){      result = 1;     }     else{      result = 2;     }    }    return result;      } 
 |