如何从用户输入获取FLOAT数据(JTextfield)

时间:2017-09-17 09:20:53

标签: java floating-point

**我如何从我们这里获得FLOAT数据

try{
    int num1,num2,num3,num4,sum;
    float div;
    DecimalFormat decft = new DecimalFormat("#.00");
    num1 = Integer.parseInt(txt_bin_balance.getText());
    num2 = Integer.parseInt(txt_issued_quantaty.getText());
    num3 = Integer.parseInt(txt_arrived_quantaty.getText());
    sum = (num1-num2)+num3;
    div = (float)sum;
    txt_final_bin_balance.setText(" " + String.valueOf(div)); 
} catch(Exception e){ 
    JOptionPane.showMessageDialog(null,e);
}

但是使用此代码和计算它会出现这样的错误消息 enter image description here

我不会这样做

txt_final_bin_balance =(txt_bin_balance - txt_issued_quantaty)+ txt_arrived_quantaty

结果=(10-3.50)+6.15

结果= 12.65

  1. 获取数据库值
  2. 获取用户输入值并除以第一个值
  3. 计算结果添加第二个用户输入值,带有2个小数点
  4. 添加第二个输入值的第一个结果
  5. 最终结果显示jlable
  6. 请帮我解决这个问题 如果有人能给出这样做的例子**(例子需要)** 谢谢

1 个答案:

答案 0 :(得分:0)

您正在尝试解析" 5.2"使用Integer.parseInt()方法转换为int变量,这就是为什么你得到一个NumberFormatException。我不确定你要求的是什么,但我认为你想要的是:

try
{
    float num1,num2,num3,num4,sum;
    float div;
    DecimalFormat decft = new DecimalFormat("#.00");
    num1 = Float.parseFloat(txt_bin_balance.getText());
    num2 = Float.parseFloat(txt_issued_quantaty.getText());
    num3 = Float.parseFloat(txt_arrived_quantaty.getText());
    sum = (num1-num2)+num3;
    div = (float)sum; //sum is alredy float so you dont need this one anymore
    txt_final_bin_balance.setText(" " + String.valueOf(div));
}
catch(Exception e)
{
    JOptionPane.showMessageDialog(null,e);
}