java判断数字的几种方法,整理如下,个人比较推荐用正则表达式判断。其它的方法,实现不是很美观,并且如果判断是不是小数比较麻烦
1.直接用jdk自带的判断字符是不是数字的方法做循环
public
static
boolean
isNumeric(String str)
...
{
for (int i = str.length();--i>=0;)...{
if (!Character.isDigit(str.charAt(i)))...{
return false;
}
}
return true;
}
2.用正则表达式
public
static
boolean
isNumeric(String str)
...
{
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
3.逐一判断ascII码
public static
boolean
isNumeric(String str)
...
{
for(int i=str.length();--i>=0;)...{
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}
4.强制转换
public static
boolean
isNumeric(String str)
...
{
BigDecimal result = null;
try...{
result = new BigDecimal(Str);
} catch (Exception e)...{
}
if (result==null)
return false;
else
return true;
}