编程语言
首页 > 编程语言> > java – Int division:为什么1/3 == 0的结果?

java – Int division:为什么1/3 == 0的结果?

作者:互联网

我写的是这段代码:

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

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

解决方法:

两个操作数(1和3)是整数,因此使用整数运算(此处除法).将结果变量声明为double只会导致在分割后发生隐式转换.

整数除法当然会将除法的真实结果舍入为零.因此,0.333 …的结果向下舍入为0. (请注意,处理器实际上并没有进行任何舍入,但你可以这样想.)

另请注意,如果两个操作数(数字)都以浮点数形式给出; 3.0和1.0,甚至只是第一个,然后使用浮点运算,给你0.333 ….

标签:integer-division,java
来源: https://codeday.me/bug/20190910/1802189.html