判断字符串是小数
Pattern p=Pattern.compile("^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$");
Matcher m=p.matcher(str);
boolean b=m.matches();
再判断位数
if(b){
//获取小数点的位置
int bitPos=inStr.indexOf(".");
//字符串总长度减去小数点位置,再减去1,就是小数位数
int numOfBits=inStr.length()-bitPos-1;
}
也可以用正则表达式判断
Pattern pattern=Pattern.compile("^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){0,2})?$");
Matcher match=pattern.matcher(str);
if(match.matches()==false){
return false;
}else{
return true;
}