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



我正在用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))));
}
}
}

在 FIRS "if" 中,我做了第二个,如果第一个数字和第二个数字的双精度结果等于此操作的整数等效值,则显示应显示整数形式,不需要 sinc 双精度。这不起作用,程序崩溃。

现在你正在将 SecondNum 解析为双精度数,这就是你得到双精度结果的原因。我会使用模运算符%。如果(sumResult % 1 != 0(比你知道它需要小数位,你应该解析双精度。如果它确实 == 0,那么您可以解析整数。

最新更新