为了账号安全,请及时绑定邮箱和手机立即绑定

Java netbeans - 如果 jtextfield 值为空,如何将 jtextfield

Java netbeans - 如果 jtextfield 值为空,如何将 jtextfield

繁华开满天机 2021-09-03 10:13:44
double B=Double.parseDouble(emp_txt2.getText());    double C=Double.parseDouble(nopay_txt3.getText());    double E=Double.parseDouble(wop_txt4.getText());    double F=Double.parseDouble(wop_txt5.getText());   double f =B+C+E+F;   String p = String.format("%.2f",f);   lb1_total3.setText(p);当 jtextfield 为空时,我想将双 B、C、E、F 值分配为零。
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

您可以使用此方法代替Double.parseDouble。


public static double tryParsDouble(String s, double defaultValue) {

     if (s == null) return defaultValue;


     try {

         return Double.parseDouble(s);

     } catch (NumberFormatException x) {

         return defaultValue;

     }  

}

然后到:


double F = tryParsDouble(wop_txt5.getText(), 0.0);


查看完整回答
反对 回复 2021-09-03
?
慕斯王

TA贡献1864条经验 获得超2个赞

尝试在emp_text2文本字段中输入值,代码分别返回以下值: "", "  ", "1", "1.1", "-1.1","1.0  "返回0.0, 0.0, 1.0, 1.1, -1.1, 1.0。


如果输入是 会发生什么"1.1x"?这会抛出NumberFormatException- 应用程序需要弄清楚要做什么。


double value = getDoubleValue(emp_text2.getText());

...


private static double getDoubleValue(String input) {


    double result = 0d;


    if ((input == null) || input.trim().isEmpty()) {

        return result;

    }


    try {

        result = Double.parseDouble(input);

    }

    catch (NumberFormatException ex) {

        // return result -or-

        // rethrow the exception -or-

        // whatever the application logic says

    }


    return result;

}


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信