java如何判断一个字符串是否为数字类型呢?
下文笔者讲述使用java代码判断字符串是否为数字类型的方法说明,如下所示
方法六
方法一:使用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 isInteger(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
return pattern.matcher(str).matches();
}
方法三:正则方式2
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
方法四:正则方式3
public final static boolean isNumeric(String s) {
if (s != null && !"".equals(s.trim()))
return s.matches("^[0-9]*$");
else
return false;
}
方法五:用ascii码
public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}
方法六
采用强制类转换来判断一个字符串是否为数字
try {
//Integer num = Integer.valueOf(str);
Double num2 = Double.valueOf(str);
//System.out.println("Is Number!" + num);
System.out.println("Is Number!" + num2);
} catch (Exception e) {
System.out.println("Is not Number!");
}
方法七:采用正则表达式的方式来判断一个字符串是否为数字
//?:0或1个, *:0或多个, +:1或多个
Boolean strResult = str.matches("-?[0-9]+.?[0-9]*");
if(strResult == true) {
System.out.println("Is Number!");
} else {
System.out.println("Is not Number!");
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


