int除法:为什么1/3的结果==0?

t30tvxxf  于 2021-06-29  发布在  Java
关注(0)|答案(16)|浏览(752)

我在写代码:

public static void main(String[] args) {
    double g = 1 / 3;
    System.out.printf("%.2f", g);
}

结果为0。为什么会这样,我该如何解决这个问题?

unhi4e5o

unhi4e5o16#

public static void main(String[] args) {
    double g = 1 / 3;
    System.out.printf("%.2f", g);
}

因为1和3都是整数,所以结果不是四舍五入的,而是截断的。所以你忽略分数,只取整数。
为了避免这种情况,请至少将数字1或3中的一个设置为十进制形式1.0和/或3.0。

相关问题