2015-04-07 100 views
0

在处理我有这样的代码:很简单:1/20返回0.0

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

但是我打印保存返回0.0

我想不通为什么!

感谢我的愚蠢问题

回答

2

整数divison。

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

当分隔两个int(一个或多个)结果为int(或0)。然后,将结果扩大到float(或0.0)。将计算中的一个值提升到float,您将得到一个float结果。

+0

啊,就是这样!我知道这是这样的!我已经提出了你的意见,但还有什么我该做的这个线程(即标记已解决,e.t.c.) – aName

+0

@ user2122995我建议你[编辑你的个人资料](/ users/edit/current)并给自己一个名字!另外,是的 - 您可以[接受答案](http://meta.stackexchange.com/q/5234/243725)。 –