我正在尝试计算(360/24)/ 60当我应该得到0.25时,我一直得到答案0.0
换句话说:我想将360除以24,然后将结果除以60
public class Divide { public static void main(String[] args){ float div = ((360 / 24) / 60); System.out.println(div); } }
打印输出:
0.0
这是为什么?我是在做一些真正愚蠢的事情,还是有充分的理由呢?
算术中的所有操作数都不是浮点数-因此所有操作均使用整数算术完成,然后转换为浮点数。如果将适当的操作数的类型更改为浮点数,则可以正常工作:
float div = ((360 / 24f) / 60); // div is now 0.25
请注意,如果仅将60更改为浮点数,则最终会将360/24作为整数算术执行-在这种情况下可以这样做,但并不代表我真正的意图。基本上,你需要确保以所需的方式执行算术运算。