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

发布网友 发布时间:2022-04-22 03:08

我来回答

5个回答

热心网友 时间:2022-04-09 06:26

用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("不是数字");
}
}
}

热心网友 时间:2022-04-09 07:44

使用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;//只有匹配了才会执行这里
}

热心网友 时间:2022-04-09 09:19

最简单的是使用Java系统库函数:
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}

热心网友 时间:2022-04-09 11:10

    String str = "123121233";
    System.out.println(str.matches("\\d+"));//true表示是数字,false表示不是

热心网友 时间:2022-04-09 13:18

Object instance of Number

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com