Java Division错误

4 java division integer-division

我有以下变量:

int first = 0;
int end = 0;
Run Code Online (Sandbox Code Playgroud)

在公共课上宣布.

在一个方法中:

double diff = end / first;
double finaldiff = 1 - diff;
Run Code Online (Sandbox Code Playgroud)

end变量对System.out.printlnIS 527first480.

为什么差异的答案出现了1?它应该是1.097916667,我认为使用a double会使我计算成小数?

Ry-*_*Ry- 5

除以两个ints将得到一个int,然后隐式转换为double.double在分裂之前施放一个:

double diff = (double)end / first;
Run Code Online (Sandbox Code Playgroud)

  • 我不得不等待十分钟@lukecampbell,就像所有人在标记答案时一样. (2认同)