2012-03-20 216 views

回答

2

可以使用D後綴隱含陳述操作數是雙,例如:

201/7 
28 

201/7D 
28.714285714285715 

或者:

double Average = total/7D; 
11

你正在做的整數除法的結果結束了!

201/7完全是一體的,所以結果不連碰花車,而不是你需要轉換爲雙先:

double Average = (double)total/7.0; 
+2

,如果你用的是無需要投雙文字(7.0 ) – Stilgar 2012-03-20 22:10:25

+0

@Stilgar,我包括這兩個,因爲這是我通常在代碼中做的。任何人閱讀都會使整個操作非常清晰。再次,那是我的個人風格。 – Matt 2012-03-20 22:20:01

1

因爲一個int分爲一個int總是一個int。

試試這個:

double average = total/7.0; 
+0

如果您使用雙字面值,則不需要演員表(7.0) – Stilgar 2012-03-20 22:10:33

+0

您是對的。固定。 – 2012-03-20 22:12:21

2

它做整數運算,因爲總的是一個int,7是一個int。如果您將其中任何一個更改爲十進制數,則會得到您要查找的結果。

例如

int total = 201; 

double Average = total/7.0; 
1

總數是int而7是int。整數除法的結果是int。它會在加倍後進行投射,但這並不重要,因爲它已被截斷。嘗試:

double average = total/7.0; 

7.0是一個雙字面值,int和double除法的結果是double。

相關問題