java:判断字符串是否为数字
1 简单封装,兼容负数情况(不含小数点)
package com.xiaoxu.utils.str;
import org.springframework.util.StringUtils;
/**
* @author xiaoxu
* @date 2022-08-03
* spring_boot:com.xiaoxu.utils.str.StrUtil
*/
public class StrUtil {
/*
* 判断字符串是否为数字(不能含小数点)
* */
public static boolean isNumeric(String str){
if(!StringUtils.hasLength(str)){
return false;
}
CharSequence cs = str;
if(cs.charAt(0)=='-'&&StringUtils.countOccurrencesOf(str,"-")==1){
cs = str.substring(1);
}
for(int var1 = 0;var1<cs.length();++var1){
char c = cs.charAt(var1);
if(!Character.isDigit(c)){
return false;
}
}
try {
Long.parseLong(cs.toString());
} catch (NumberFormatException e) {
return false;
}
return true;
}
public static void main(String[] args) {
System.out.println(isNumeric("-1 "));
System.out.println(isNumeric(" -1"));
System.out.println(isNumeric("-1"));
System.out.println(isNumeric("a1212"));
System.out.println(isNumeric("1213"));
System.out.println(isNumeric("000071213"));
System.out.println(isNumeric("-00007100213"));
System.out.println(isNumeric("--00007100213"));
System.out.println(isNumeric("-00007100213小徐"));
System.out.println(isNumeric("-00007100213.0"));
System.out.println(isNumeric("00"));
System.out.println(isNumeric("-00"));
System.out.println(isNumeric("0"));
System.out.println(isNumeric("-0"));
System.out.println(isNumeric("-"));
System.out.println(isNumeric("- "));
}
}
2 执行结果
false
false
true
false
true
true
true
false
false
false
true
true
true
true
false
false