日期:2014-05-20  浏览次数:20727 次

【第一次发贴】麻烦帮忙写一个共通方法,关于如何验证页面的值是否是Decimal
由于不然用Js验证,所以想用java的正则表达式验证。但是没找到那里有这个表达式。
而且第一次接触正则表达式。不知道我这么些有没有错误。
就是想验证页面传过来的值是不是Decimal类型。
比如 10. --》错误
  10.1 --》
  10.0 --》正确

public static boolean isDecimal(String obj) {

if (obj.equals(null) || obj.equals("")) {
return false;
}
 
String regEx=""; //表示是Decimal的java正则表达式
 
Pattern p=Pattern.compile(regEx); 
 
Matcher m=p.matcher(obj); 
 
boolean rs=m.matches(); 

return rs;
}

------解决方案--------------------
public static boolean test(String obj){
try{
//obj为null或者不是合法的数字的情况
Double.parseDouble(obj);
}catch(Exception e){
return false;
}
//obj以小数点结尾的情况
if(obj.charAt(obj.length()-1)=='.'){
return false;
}
//确认包含小数点
if(obj.indexOf(".")>0){
return true;
}
return false;
}
------解决方案--------------------
看这里吧,以前总结过 http://www.java2000.net/viewthread.jsp?tid=426