谁能写个完成其对其字符进行判断是否为小数或整数的程序,谢谢!
例如:String aa="222.3";
String bb="sdf.342";
要写一个方法来判断上面两个字符是否为小数或整数的方法;谢谢,帮帮忙!我知道这个不难,我也写了一个如下:
public boolean getPan(String ss){
boolean bool=false;
//String regEx = "[\\.\\d]*";
try{
Pattern p=Pattern.compile("[\\.\\d]*");
Matcher m=p.matcher(ss);
boolean bo=m.find();
if (bo){ bool=true; }
return bool;
}catch(Exception e){
System.out.println("判断字符出错!"+e.getMessage());
return bool;
}
}
可是会出有出错提示:
java.lang.NoSuchMethodError
--------String str="...";
try {
float f=Float.parseFloat(str);
if(f%1.0==0)
system.out.println("it's a integer");
else
system.out.println("it's a float number");
} catch(Exception e) {
System.out.println("it's not a number");
}
try {
Pattern p = Pattern.compile("[\\d]*[\\.]{0,1}[\\d]*");
Matcher m = p.matcher(ss);
return m.matches();
} catch (Exception e) {
System.out.println("判断字符出错!" + e.getMessage());
return false;
}
}
这样的错误提示,不知道是什么原因?有什么解决方法?
Pattern p = Pattern.compile("^\\d*(\\.\\d+)?$");
import java.util.regex.*;
public class Testclass2{
public boolean getPan(String ss){
boolean bool=false;
//String regEx = "[\\.\\d]*";
try{
Pattern p=Pattern.compile("\\d++|\\d++\\.d++");
Matcher m=p.matcher(ss);
boolean bo=m.find();
if (bo){ bool=true; }
return bool;
}catch(Exception e){
System.out.println("判断字符出错!"+e.getMessage());
return bool;
}
} public static void main(String[]args){
Testclass2 t1=new Testclass2();
if (t1.getPan("213.2")) System.out.println("ok");
if (t1.getPan("xyyz")) System.out.println("ok"); else System.out.println("no");
if (t1.getPan("yyzz123.234.12")) System.out.println("ok");else System.out.println("no");
}
}
如果Pattern都没问题不可能CharSequence找不到
----------
这个模式会对?
a12.34b这个是小数?
能够匹配的吧