2 / 4 = 0; // it should be 0.5, but the result is 0
2 % 4 = 2 // its should be 0, cuz there are no remainders, but somehow the result is 2
为什么会给出这个结果,我做错了什么?
最佳答案
对于第一个:由于 2
和 4
是整数,因此这是进行整数除法,这意味着任何小数部分都会被丢弃。它会向下舍入。如果您想强制其为浮点型,则需要 2/4.0
或 2.0/4
。现在其中一个是浮点 double
而不是 int
,因此结果也是一个 double
。
对于第二个:当你将 2 除以 4 时,你得到 0 余数 2,所以答案是 2
。我怀疑您正在考虑 4 除以 2,在这种情况下余数肯定是 0,因此如果您尝试 4 % 2
,您将得到 0
结果.
关于Java 取模和除法的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26405901/