2015-04-07 101 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)。 –