![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
java如何做到判断一个字符串是否是数字。
字符串中可以使这一组,135.555或者是5654415都行反正中间不能有有英文,如果有就返回false。也不可以使这种格式135.546.546...
字符串中可以使这一组,135.555或者是5654415都行反正中间不能有有英文,如果有就返回false。也不可以使这种格式135.546.546
展开
8个回答
展开全部
楼主看方法:
public class NumberDemo {
public static void main(String[] args) {
String str1="1122.2.2";
String str2="111";
String str3="111.2";
String str4="111s";
String str5="111.s";
String str6="1s11";
System.out.println(str1+":"+isNum(str1));
System.out.println(str2+":"+isNum(str2));
System.out.println(str3+":"+isNum(str3));
System.out.println(str4+":"+isNum(str4));
System.out.println(str5+":"+isNum(str5));
System.out.println(str6+":"+isNum(str6));
}
public static boolean isNum(String str){
return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
}
}
结果:
1122.2.2:false
111:true
111.2:true
111s:false
111.s:false
1s11:false
public class NumberDemo {
public static void main(String[] args) {
String str1="1122.2.2";
String str2="111";
String str3="111.2";
String str4="111s";
String str5="111.s";
String str6="1s11";
System.out.println(str1+":"+isNum(str1));
System.out.println(str2+":"+isNum(str2));
System.out.println(str3+":"+isNum(str3));
System.out.println(str4+":"+isNum(str4));
System.out.println(str5+":"+isNum(str5));
System.out.println(str6+":"+isNum(str6));
}
public static boolean isNum(String str){
return str.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");
}
}
结果:
1122.2.2:false
111:true
111.2:true
111s:false
111.s:false
1s11:false
展开全部
如果只是判断,可与用integer.parseint(string)如果是数字,就没有异常,如果有异常,就不是数字
或者用正则表达式
return
string.matches("\\d+\\.?\\d*"));
这个语句就是用来判断的
\\d+表示一个或者多个数字
\\.?
表示一个或这没有小数点
\\d
*
表示0个或者多个数字
或者用正则表达式
return
string.matches("\\d+\\.?\\d*"));
这个语句就是用来判断的
\\d+表示一个或者多个数字
\\.?
表示一个或这没有小数点
\\d
*
表示0个或者多个数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则表达式最好了
public static void main(String[] args) {
String str = "135555";
final String reg ="\\d+\\.{0,1}\\d*";
boolean isDigits = str.matches(reg);
System.out.println(isDigits);
}
public static void main(String[] args) {
String str = "135555";
final String reg ="\\d+\\.{0,1}\\d*";
boolean isDigits = str.matches(reg);
System.out.println(isDigits);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个可以使用正则表达式^[0-9]*$来判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String s = "safdj123";
boolean isNaN = true;
try{
Long testlong = new Long(s);
}catch (Exception e){
isNaN = false;
}
if(isNaN){
System.out.println("恭喜 这还真是个数字!");
}else{
System.out.println("555 这还真不是一个数字");
}
boolean isNaN = true;
try{
Long testlong = new Long(s);
}catch (Exception e){
isNaN = false;
}
if(isNaN){
System.out.println("恭喜 这还真是个数字!");
}else{
System.out.println("555 这还真不是一个数字");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询