java 如何判断一个字符串是数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 如何判断一个字符串是数字相关的知识,希望对你有一定的参考价值。
方法有很多,个人觉得使用异常捕捉非常方便,上代码:
public static boolean isNumeric(String str)//捕获NumberFormatException异常
if (str != null) str = str.trim();//" 3 "自动去空格再判断
try
Integer.parseInt(str);
return true;
catch(NumberFormatException e)
System.out.println("异常:\\"" + str + "\\"不是数字/整数...");
return false;
参考技术A 方法一:利用正则表达式public class Testone
public static void main(String[] args)
String str="123456";
boolean result=str.matches("[0-9]+");
if (result == true)
System.out.println("该字符串是纯数字");elseSystem.out.println("该字符串不是纯数字");方法二:利用Pattern.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Testone
public static void main(String[] args)
String str="123456";
Pattern pattern = Pattern.compile("[0-9]1,");
Matcher matcher = pattern.matcher((CharSequence)str);
boolean result=matcher.matches();
System.out.println("该字符串是纯数字");elseSystem.out.println("该字符串不是纯数字");
java如何做到判断一个字符串是不是是数字。
字符串中可以使这一组,135.555或者是5654415都行反正中间不能有有英文,如果有就返回false。也不可以使这种格式135.546.546
楼主看方法: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 参考技术A 如果只是判断,可与用integer.parseint(string)如果是数字,就没有异常,如果有异常,就不是数字
或者用正则表达式
return
string.matches("\\d+\\.?\\d*"));
这个语句就是用来判断的
\\d+表示一个或者多个数字
\\.?
表示一个或这没有小数点
\\d
*
表示0个或者多个数字 参考技术B 正则表达式最好了
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);
参考技术C 这个可以使用正则表达式^[0-9]*$来判断 参考技术D 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 这还真不是一个数字");
以上是关于java 如何判断一个字符串是数字的主要内容,如果未能解决你的问题,请参考以下文章