计算和在Java
显示数字我有以下代码....计算和在Java
double num1 = Double.parseDouble(textArea_price.getText());
double num2 = Double.parseDouble(textArea_quantity.getText());
double result = num1*num2;
textArea_result.setText(
new BigDecimal(textArea_price.getText())
.multiply(new BigDecimal(textArea_quantity.getText())).toString());
每当一个按钮被点击的数字在textArea_price和textArea_quantity相乘并在textArea_result显示。我希望textArea_result中的值被添加到两个textareas的乘法结果上,而不是每次单击按钮时重置textArea_result中的值...
我不知道Java但不会是这个吗?
double num1 = Double.parseDouble(textArea_price.getText());
double num2 = Double.parseDouble(textArea_quantity.getText());
double oldResult = 0;
String result = textArea_result.getText();
if (result != "")
oldResult = Double.parseDouble(result);
double result = oldResult + num1 * num2;
textArea_result.setText(Double.toString(result));
如果你真的想避免if语句试试这个,但它只是语法糖:
double num1 = Double.parseDouble(textArea_price.getText());
double num2 = Double.parseDouble(textArea_quantity.getText());
String result = textArea_result.getText();
double oldResult = (result == "") ? 0 : Double.parseDouble(result);
double result = oldResult + num1 * num2;
textArea_result.setText(Double.toString(result));
大概只需将最后一行替换为:textArea_result.setText(Double.toString(result)); – barsju 2012-03-23 14:28:24
像这样?嘿,我喜欢Java。它的可爱小小的方法名称令人讨厌。 :)但是,如果textArea_result不是一个数字呢?就像按下按钮的初始时间一样。它是空的吗? – Jordan 2012-03-23 14:31:21
@Jordan我收到此错误消息异常线程“AWT-EventQueue-0”java.lang.NumberFormatException:空字符串 – FatmaTurk 2012-03-23 14:32:18
或者:
double num1 = Double.parseDouble(textArea_price.getText());
double num2 = Double.parseDouble(textArea_quantity.getText());
double oldres = Double.parseDouble(textArea_result.getText());
double result = oldres + num1*num2;
textArea_result.setText(Double.toString(result));
或者:
BigDecimal price = new BigDecimal(textArea_price.getText());
BigDecimal quantity = new BigDecimal(textArea_quantity.getText());
BigDecimal oldTotal = new BigDecimal(textArea_result.getText());
BigDecimal total = price.multiply(quantity).add(oldTotal);
textArea_result.setText(total.toString());
这些工作都没有... – FatmaTurk 2012-03-23 14:56:59
对于更快地提供帮助,发布[SSCCE](http://sscce.org/)。 – 2012-03-23 14:26:41
您可以在执行setText部分之前将值保存在textArea_result中,然后将其添加到toString的前/后 – 2012-03-23 14:28:23