Java中怎样判断一个字符串是否是数字
5个回答
展开全部
用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("不是数字");
}
}
}
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("不是数字");
}
}
}
2017-05-15 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
使用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;//只有匹配了才会执行这里
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的是使用Java系统库函数:
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-04 · 知道合伙人数码行家
关注
展开全部
String str = "123121233";
System.out.println(str.matches("\\d+"));//true表示是数字,false表示不是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Object instance of Number
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询