Java 找出负数和正数之间的差异

Java 找出负数和正数之间的差异,java,Java,我有一个值存储在我的db.table中,作为欠款,它有一个减号,例如欠款=-100.0,当需要支付金额以取消或减少欠款时,我得到了错误的结果。例如: 欠款=-100.0显示在db.table中名为“欠款”的JTextField中 用户将要支付的金额输入名为“支付”的文本框。 必须进行计算,并将新欠款输入“欠款”jtextfield。这是我在下面编写的代码: double a,b,e; a=Double.valueOf(arrears.getText()); b=Double.valueOf(pa

我有一个值存储在我的db.table中,作为欠款,它有一个减号,例如欠款=-100.0,当需要支付金额以取消或减少欠款时,我得到了错误的结果。例如:
欠款=-100.0显示在db.table中名为“欠款”的JTextField中
用户将要支付的金额输入名为“支付”的文本框。 必须进行计算,并将新欠款输入“欠款”jtextfield。这是我在下面编写的代码:

double a,b,e;
a=Double.valueOf(arrears.getText());
b=Double.valueOf(pay.getText());
e=a+b;
arrears.setText(String.valueOf(e));

欠款
=-100.0,
支付金额
=50.0经过计算,我得到的答案是
-45.0
,而不是
-50
。请问问题出在哪里。

看起来问题不在计算中。我建议您使用调试器或日志记录,例如:

double a,b,e;
System.out.println("arrears = " + arrears.getText());
System.out.println("pay =" + pay.getText());

a=Double.valueOf(arrears.getText());
b=Double.valueOf(pay.getText());
e=a+b;

System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("e = " + e);

arrears.setText(String.valueOf(e));

用户在付款文本字段中输入5->将5添加到欠款中,用户在付款文本字段中输入0->添加50,现在总值为-100+5+50=45

使用调试器。检查
a
b
我刚刚编辑了那部分。这相当于a+b。我认为上述代码中没有任何问题,请提交所包围的代码,因为wellbro am stil获得-45,而不是-50@Ali786。在我的计算器上我得到了正确的答案。我就是说不出为什么在节目里wrong@jhamon,你能给我一个关于如何使用调试器的示例代码吗。@joakim_Danielson这意味着输入工资计算两次。一次乘以5,然后乘以50,因为输入的顺序是5,然后是0。有没有办法让它执行一次动作。我正在使用已释放的密钥。它可以完美地与其他人合作,但不是拖欠款类型。ok@ScaryWombat。回车键怎么样。当按下enter键时,将执行操作。希望这将解决问题,当在文本字段中按Enter键时,Man action listener听起来是一个很好的解决方案。