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

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

我在写代码:

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

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

fafcakar

fafcakar16#

最简单的解决办法就是这样做

double g = ((double) 1 / 3);

因为您没有输入1.0/3.0,所以它允许您手动将它转换为double数据类型,因为java假设它是整数除法,即使它意味着缩小转换范围,它也会这样做。这就是所谓的cast操作符。

相关问题