如何让java在分割时产生小数点

时间:2015-10-22 05:12:57

标签: java decimal calculator

我正在制作一个基本的计算器,你可以加上,时间,分数和减去,因为我正在试验看它是否有效我注意到,而不是5除以等于1.25它只显示1。

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

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

是否还有显示小数点的代码?

3 个答案:

答案 0 :(得分:2)

因为你正在使用Integer,所以它正在发生。 使用Double保留小数。 在您的情况下,请使用

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你需要进行投射

(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
 }