当我在Java中进行除法时,我会丢失小数,如何显示它?

时间:2015-04-15 22:27:44

标签: java

当我这样做时

    double money = 2.3452;
    DecimalFormat decFor = new DecimalFormat("0.00");
    System.out.println(decFor.format(money));

我得到这个输出:2.35

但是当我这样做时

    double money = 1/8;
    DecimalFormat decFor = new DecimalFormat("0.00");
    System.out.println(decFor.format(money));

我得到:0.00

如何让Java向您显示0.12而不是0.00?

2 个答案:

答案 0 :(得分:2)

这样做:

double money = 1.0 / 8;

问题在于你取整数,1并将其除以整数,8。然后Java使用整数数学,截断为0.如果你明确使用1.0,那么它将使用浮点除法。

答案 1 :(得分:0)

你需要施展加倍。在整数除法中,结果的小数部分被丢弃。

double money = (double)1/8;
DecimalFormat decFor = new DecimalFormat("0.00");
System.out.println(decFor.format(money));