if(e.getSource()== quater){
totalTemp = Double.parseDouble(total.getText() + .25);
String total2 = Double.toString(totalTemp);
total.setText(total2);
}
我正在尝试更改JLabel总数,当按下Quater按钮时,它会增加25美分我不断得到这些长错误,没有任何反应。
答案 0 :(得分:1)
好吧,首先,你试图在String中添加一个double值,不会发生。根据您的代码,您需要的是:
if(e.getSource()== quarter){
partialTemp = Double.parseDouble(total.getText());
totalTemp = partialTemp + 0.25;
String total2 = Double.toString(totalTemp);
total.setText(total2);
}
这将有效,相信我,mi amigo
答案 1 :(得分:0)
您获得的错误应为NumberFormatException
。以这种方式尝试您的代码。
if(evt.getSource()== quater){
double totalTemp = Double.parseDouble(total.getText())+ .25;
String total2 = Double.toString(totalTemp);
total.setText(total2);
}
答案 2 :(得分:0)
试一试。你会得到答案
totalTemp = (Double.parseDouble(total.getText()) + 00.25);
total.setText(Double.toString(totalTemp));
而不是
totalTemp = Double.parseDouble(total.getText() + .25); //if getText() contains "abc" returns "abc.25"
如果total.getText() ="abc"
则会"abc.25"
成为NumberFormatException
。
答案 3 :(得分:0)
使用当前代码,您将double
添加到String
的末尾。例如,如果total.getText()
返回“1.2”,则"1.2" + 0.25
将等于"1.20.25"
,无法将其解析为double
,因此会引发NumberFormatException
。
您需要首先解析String
,然后添加double
。
double totalTemp = Double.parseDouble(total.getText()) + 0.25;