1.用正则表达式
import java.util.regex.Pattern 和 java.util.regex.Matcher
/**
* 利用正则表达式判断字符串是否是数字
* @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自带的函数
org.apache.commons.lang
org.apache.commons.lang.StringUtils;
public static boolean isNumeric(String str) {
if (str == null) {
return false;
}
int sz = str.length();
for (int i = 0; i < sz; i++) {
if (Character.isDigit(str.charAt(i)) == false) {
return false;
}
}
return true;
}
3、判断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;
}
4、逐个判断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;
}
5、捕获NumberFormatException异常
public static boolean isNumeric00(String str)
{
try{
Integer.parseInt(str);
return true;
}catch(NumberFormatException e)
{
System.out.println("异常:\"" + str + "\"不是数字/整数...");
return false;
}
}
版权声明:本文为lyf_ldh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。