int x=5, y=2;
System.out.println(x/y-(double)(x/y);
Run Code Online (Sandbox Code Playgroud)
当我在Eclipse上运行它时,为什么答案为0?我希望通过削减0.5左边的属性(int)5/2 = 2.然后(双)5/2 = 2.5,所以2 - 2.5 = -0.5.
rge*_*man 11
问题是你double
在分裂之后就已经投入了:
(double)(x/y)
Run Code Online (Sandbox Code Playgroud)
整数除法仍然存在,因此结果x/y
与减法产生相同0
.
铸造x
于double
之前的划分,强制浮点除法:
((double) x / y)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1032 次 |
最近记录: |