检查整数是否在java中有一些字符内容

时间:2014-08-28 11:54:11

标签: java validation integer

每当我尝试在互联网上查找以查看从用户字段接受的int值是否具有某些字符(如A-z或任何特殊字符)时,所有站点都会假定输入采用String的形式。 功能

boolean numberValidation(int number){
    if number has characters mentioned above, return false
   else return true
}

4 个答案:

答案 0 :(得分:2)

在这种情况下,编译器会抱怨传递的参数。

如果参数是String并且您想要检测String是否是有效整数,则可以解析它控制异常。以下代码是一个建议:

boolean numberValidation(String number){
    try{
        Integer.parseInt(number);
        return true;
    }catch(NumberFormatException e){
        return false;
    }
}

此致

答案 1 :(得分:1)

尝试解析它,如果发生异常,则返回false,否则返回true

boolean numberValidation(String supposedNumber) {
    boolean flag = false;
    int x;
    try {
        x = Integer.parseInt(supposedNumber);
        flag = true;
    } catch(NumberFormatException ex) {
        flag = false;
    }
    return flag;
}

答案 2 :(得分:1)

如果您正在寻找带有任何数字> 9的十六进制数字,您可以这样做:

// hex representation of -889275714
int i = 0xcafebabe;
// just 1
int j = 1;
// represents both as hexadecimal String representations
String is = Integer.toHexString(i);
String ij = Integer.toHexString(j);
// pattern to check for letters
Pattern alpha = Pattern.compile("[a-z]", Pattern.CASE_INSENSITIVE);
System.out.printf("\"%s\" contains characters, \"%s\" does not.%n", is, ij);

<强>输出

"cafebabe" contains characters, "1" does not.

注意

对于代表号码的String,如其他答案所示,请使用Integer.parseInt并抓住NumberFormatException

答案 3 :(得分:0)

这就是我认为你想要的东西:

public boolean isNumber(String value) { 
    return Pattern.compile("\\d+").matcher(value).matches();
}