如何让java除法时产生小数点

How to get java to produce decimal points while dividing

我正在制作一个基本的计算器,您可以在其中进行加、乘、除和减,因为我正在尝试查看它是否有效,我注意到它不是 5 除以等于 1.25,而是只显示 1。

这是我用来处理数学问题的代码:

if (box.getSelectedItem().equals(divide)){
    JOptionPane.showMessageDialog(null, Integer.parseInt(first.getText()) / Integer.parseInt(second.getText()), "Answer", -1);
    main(args);
}

有显示小数点的代码吗?

整数除法会给你整数。尝试使用 Double 或 BigDecimal 数据类型。

你需要做演员

(double)parseInt(first.getText()) / (double)parseInt(second.getText())

Int/Int 会给你一个整数。因此,您需要将其转换为 Double 以获得十进制结果。

编辑:

如果你不想在结果为整数时显示小数,那么你需要这样检查:

Double res = (double)parseInt(first.getText()) / (double)parseInt(second.getText())
 Integer x;
 if(res % 1 == 0)
 {
    x =  (int)res
 }

由于您使用的是 Integer,所以它正在发生。 使用 Double 保留小数。 在你的情况下,使用

Double.parseDouble(first.getText()) / Double.parseDouble(second.getText())