很简单:1/20 returns 0.0

very simple: 1/20 returns 0.0

在处理中我有这段代码:

int numberOfSteps = 20;
float numberOfStepsCalculated = (1/20);
println(numberOfStepsCalculated);

但我的打印一直返回 0.0

我不明白为什么!

感谢我的愚蠢问题

整数除法。

float numberOfStepsCalculated = (1.0f / numberOfSteps); // 20

当您除以两个 int(s) 时,结果是 int(或 0)。然后将结果扩大为 float(或 0.0)。将计算中的一个值提升为 float,您将得到 float 结果。