使用Double.parseDouble()进行Java文本框验证

时间:2010-08-18 21:33:51

标签: java validation double

我有一个Swing JTextBox基本上会持有双倍。

我发现使用:

  Double.parseDouble(this.myTB.getText());

会在Double.parseDouble()输入无效时抛出异常(因此程序终止)。

我的问题:是否有一种简单的方法可以不抛出异常,而是返回一个整数(-1),说parseDouble()失败了?

我正在尝试为用户说明他或她的数据字段无效。

由于


编辑:

谢谢大声笑。我怎么能忘记捕获异常?这是漫长的一天!

3 个答案:

答案 0 :(得分:9)

处理此问题的最佳方法是使用try / catch块。

try {
    return Double.parseDouble(this.myTB.getText());
} catch (NumberFormatException e) {
    JOptionPane.showMessageDialog("Oops");
    return -1;
}

JOptionPane是向用户显示警告消息的好方法。

答案 1 :(得分:0)

抓住NumberFormatException,并返回所需的错误值(或从catch子句中采取其他一些操作)。

double value = -1;
try {
    value =  Double.parseDouble(this.myTB.getText());
} catch (NumberFormatException e) {
    e.printStackTrace();
}
return value;

答案 2 :(得分:0)

使用

try{
    return Double.parseDouble(this.myTB.getText());
   } catch(NumberFormatException e) {
       return -1;
   }