You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java文本框中设置double类型数据并正确显示计算结果?

问题分析与解决

核心问题

你代码里的Integer.parseInt()只能解析纯整数格式的字符串,当输入1.222、2.5这类小数时,会直接抛出NumberFormatException,导致后续的计算、结果赋值逻辑根本无法执行,自然看不到输出。

修正后的代码

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
    try {
        // 替换为Double.parseDouble,支持解析小数输入
        double Width = Double.parseDouble(jTextField1.getText());
        double Height = Double.parseDouble(jTextField2.getText()); // 修正变量名拼写:Hight → Height
        double SqFt = Width * Height;
        double SqInch = SqFt / 144;
        
        // 可选:格式化结果为指定小数位数,避免超长小数(示例保留2位)
        String r = String.format("%.2f", SqInch);
        // 如果不需要格式化,也可以用原写法:String r = String.valueOf(SqInch);
        
        jTextField4.setText(r);
        jTextField3.setEditable(false);
    } catch (NumberFormatException e) {
        // 处理用户输入非数字的情况,给出提示
        jTextField4.setText("请输入有效数字");
    }
}

关键改动说明

  • 用Double.parseDouble()替代Integer.parseInt(),这是支持小数输入的核心修改。
  • 添加try-catch块捕获异常,避免用户输入非数字内容时程序崩溃,同时给用户明确的反馈。
  • 可选优化:通过String.format()格式化输出结果,让显示的小数更整洁(比如保留2位),按需选择即可。
  • 修正了变量名拼写错误Hight→Height,符合代码规范。

内容的提问来源于stack exchange,提问作者NAVEEN AKALANKA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:50:33