如何使java检测是否有任何小数位

时间:2018-06-27 21:48:53

标签: java if-statement integer double

我正在用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则不需要。这不起作用,程序崩溃。

1 个答案:

答案 0 :(得分:0)

现在,您正在将SecondNum解析为一个double,这就是为什么您得到double结果的原因。我将使用模数运算符%。如果(sumResult%1!= 0)比您知道它需要小数位,则应该解析double。如果它== 0,则可以解析整数。