当我在Java中做除法时,我丢失了小数点,如何显示它?

-2 java

当我这样做时

    double money = 2.3452;
    DecimalFormat decFor = new DecimalFormat("0.00");
    System.out.println(decFor.format(money));
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:2.35

但是当我这样做时

    double money = 1/8;
    DecimalFormat decFor = new DecimalFormat("0.00");
    System.out.println(decFor.format(money));
Run Code Online (Sandbox Code Playgroud)

我得到:0.00

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

cav*_*man 5

做这个:

double money = 1.0 / 8;
Run Code Online (Sandbox Code Playgroud)

问题是您将整数 1 除以整数 8。然后 Java 使用整数数学,它会截断为 0。如果您显式使用 1.0,那么它将使用浮点除法。