2013-10-31 47 views
-2

因此,我爲自己製作了一個小應用程序,一切都很順利,直到現在,我不知道我能做什麼,但我的答案都是整體出來的數字,當我需要小數的答案。Android計算在不應該返回整數

代碼:

public float NumberCalc(){ 
    float number1 = 255/100; 
    float number2 = ((5/366)*100); 
    float finalNumber =(number1*number2); 
    return finalNumber; 
} 

所以我得到2.0 NUMBER1 & 0.0 NUMBER2 ,我難倒

任何人都可以闡明這種情況下一些輕?

+3

不'的Android calculations'而是'java的calculations' –

回答

1

您的第一個分區中的數字255和100都是int。所以當你用java分兩個整數時,你就會得到'商'。 Java然後將這個答案轉換爲float。

您可以在分割前將分子轉換爲浮點數,以保證結果爲浮點數。

嘗試:

public float NumberCalc(){ 
    float number1 = (float) 255/100; 
    float number2 = (((float)5/366)*100); 
    float finalNumber =(number1*number2); 
    return finalNumber; 
} 
0

投你的分數爲float或進行設定(例如)

float a = 200f 

爲你的數學變量。在我看來,你不需要創建變量就可以使它更簡潔。 Android將分割計算爲整數。

4

您正在執行integer division並將結果存儲爲浮點數。

255/100結果在2個整數,保存爲浮子2.0爲了避免這種情況,你可以通過整數或整數由浮子除法255.0/100255/100.0255f指定劃分爲浮動。 number2

+0

哈哈,我太困了,我沒有看到我的錯!乾杯! –

相關問題