如何检查字符串是否是有效整数?

时间:2014-02-15 21:31:57

标签: java variable-assignment

我有:

 op1 = Integer.parseInt(jTextField1.getText());
 op2 = Integer.parseInt(jTextField2.getText());

但是,我想首先检查文本字段的值是否可以分配给整数变量。我该怎么做?

我已经经历了很长一段时间,所以,如果这已经在这里被问过,请原谅我

4 个答案:

答案 0 :(得分:16)

您无法执行if (int i = 0),因为赋值返回指定的值(在本例中为0),if需要一个表达式,其值为true,或者false

另一方面,如果您的目标是检查jTextField.getText()是否返回可以解析为int的数值,您可以尝试进行解析,如果值不是合适,NumberFormatException将被提出,让你知道。

try {
    op1 = Integer.parseInt(jTextField1.getText());
} catch (NumberFormatException e) {
    System.out.println("Wrong number");
    op1 = 0;
}

答案 1 :(得分:2)

这对我有用。只需识别String是基元还是数字。



private boolean isPrimitive(String value){
        boolean status=true;
        if(value.length()<1)
            return false;
        for(int i = 0;i<value.length();i++){
            char c=value.charAt(i);
            if(Character.isDigit(c) || c=='.'){
                
            }else{
                status=false;
                break;
            }
        }
        return status;
    }
&#13;
&#13;
&#13;

答案 2 :(得分:1)

如果parseInt无法将String转换为int,则抛出NumberFormatException。因此,您应该使用try catch块包围parseInt调用并捕获该异常。

答案 3 :(得分:0)

基本上,您必须决定检查给定字符串是否是有效整数,或者您只是假设给定字符串是有效整数,并且在解析时可能发生异常。