在处理中我有这段代码:
int numberOfSteps = 20;
float numberOfStepsCalculated = (1/20);
println(numberOfStepsCalculated);
但是我的印刷品一直在返回0.0
我无法弄明白为什么!
感谢我的愚蠢问题
答案 0 :(得分:2)
整数分裂。
float numberOfStepsCalculated = (1.0f / numberOfSteps); // 20
当您划分两个int
(s)时,结果为int
(或0
)。然后,您将结果扩展为float
(或0.0
)。将计算中的一个值提升为float
,您将获得float
结果。