Java中怎样判断一个字符串是否是数字

如题所述

用java的异常机制,不仅可以判断是否是数字,还可以判断整数或者小数:
public void checkInt(String bh){
try{
int num = Integer.parseInt(bh);//将输入的内容转换成int
System.out.println("是整数:"+num);//是整数
}catch (NumberFormatException e) {//转换成int类型时失败
try{
double d =Double.parseDouble(bh);//转成double类型
System.out.println("是小数:"+d);//是小数
}catch (NumberFormatException e2) {//转成double类型失败
System.out.println("不是数字");
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-05-15

使用Character.isDigit(char)判断,类型转换判断,正则表达式判断都是可以的,下面以正则判断为例。

代码如下:

Numeric(String str)
{
Pattern pattern = Pattern.compile("[0-9]*");////+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")   
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() )//这里作判断
{
return false;
}
return true;//只有匹配了才会执行这里
}

第2个回答  2014-12-04
最简单的是使用Java系统库函数:
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
第3个回答  2014-12-04
    String str = "123121233";
    System.out.println(str.matches("\\d+"));//true表示是数字,false表示不是

第4个回答  2014-12-04
Object instance of Number
相似回答