本篇文章为大家展示java判断字符串是不是数字的多种方法,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了嵊泗免费建站欢迎大家使用!
1、用正则表达式
/**
* 利用正则表达式判断字符串是否是数字
* @param str
* @return
*/
public boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}2、用JAVA自带的函数
public static boolean isNumeric(String str)
{
for (int i = 0; i < str.length(); i++)
{
System.out.println(str.charAt(i));
if (!Character.isDigit(str.charAt(i)))
{
return false;
}
}
return true;
}3、使用org.apache.commons.lang
org.apache.commons.lang.StringUtils;
boolean isNunicodeDigits=StringUtils.isNumeric("aaa123456789");
http://jakarta.apache.org/commons/lang/api-release/index.html下面的解释:
public static boolean isNumeric(String str)Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
null will return false. An empty String ("") will return true.
StringUtils.isNumeric(null) = false
StringUtils.isNumeric("") = true
StringUtils.isNumeric(" ") = false
StringUtils.isNumeric("123") = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false
StringUtils.isNumeric("12-3") = false
StringUtils.isNumeric("12.3") = false4、判断ASCII码值
public static boolean isNumeric0(String str)
{
for(int i=str.length();--i>=0;)
{
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}5、逐个判断str中的字符是否是0-9
public static boolean isNumeric3(String str)
{
final String number = "0123456789";
for(int i = 0;i < number.length; i ++)
{
if(number.indexOf(str.charAt(i)) == -1)
{
return false;
}
}
return true;
}6、捕获NumberFormatException异常
public static boolean isNumeric00(String str)
{
try{
Integer.parseInt(str);
return true;
}catch(NumberFormatException e)
{
System.out.println("异常:\"" + str + "\"不是数字/整数...");
return false;
}
}上述内容就是java判断字符串是不是数字的多种方法,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。