2013-03-21 52 views
0

只是想知道爲什麼Java計算不會返回浮點值?

float percent = 1 + (25/100); // percent value is 1.0 and not 1.25 

結果給出1而不是1.25

感謝 Saikat

+7

整數除法... – Mysticial 2013-03-21 10:37:28

+0

[Java:整數之間的劃分]的可能重複(http://stackoverflow.com/questions/5203022/java-division-between-integers) – ecatmur 2013-03-21 11:43:33

回答

2

我想這是因爲Java認爲它是這樣的:

(int) 1 + ((int)25/ (int)100) = (int) 1 

然後它存儲到一個浮動。試用25.0而不是25

2

你正在做一個整數除法。讓編譯器知道你正在試圖通過explicilty進行浮點除法,使你的一個操作數成爲浮點數字。您可以通過將F或f附加到數字或通過將數字附加到.0來創建浮點字面值。

25---> int literal 
25.0---> float literal 
25F----> float literal 
25f----> float literal 

float percent = 1 + (25F/100) 
相關問題