我正在用Java开发一个带有GUI的计算器程序。我的计算器经过一个运算,可以说乘出一个双精度数,即使没有小数位,数字也会寻找ex。像这样:2 * 2 = 4,0。我想知道是否有一种方法可以使程序检测是否需要显示小数,因此,如果该数字是整数,它将显示一个整数,例如:2 * 2 = 4。 我已经尝试过这种方式:
JButton btnEquals = new JButton("=");
btnEquals.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
SecondNum = Double.parseDouble(txtDisplay.getText());
if (operation == "+") {
txtDisplay.setText(String.valueOf(FirstNum + SecondNum));
if ((FirstNum + SecondNum) == Integer.parseInt(String.valueOf(FirstNum + SecondNum))){
txtDisplay.setText(String.valueOf(Integer.parseInt(String.valueOf(FirstNum + SecondNum))));
}
}
}
如果“第一个数字”和“第二个数字”的双精度结果等于此操作的整数等值,则在“ if”中进行第二个“秒”运算,显示屏应显示整数形式,而sinc double则不需要。这不起作用,程序崩溃。
答案 0 :(得分:0)
现在,您正在将SecondNum解析为一个double,这就是为什么您得到double结果的原因。我将使用模数运算符%。如果(sumResult%1!= 0)比您知道它需要小数位,则应该解析double。如果它== 0,则可以解析整数。