2014-01-26 52 views
-4

有從用戶輸入的計算一個十進制浮點,說2.856,我需要轉成整數2如何把浮動到一個int

注意,這在代碼做自己,不能只需輸出%.0f;我需要它來做未來的計算。

附加說明,我已經使用

float Var1; 
int Var2; 
Var1 = 2.856; 
Var2 = (int)Var1; 

如果這是這樣做的最簡單的方法,請解釋(INT)是如何工作的,因爲我不知道。

編輯:好的,所以我在我的探索中有點不清楚,Var 1 = 2.856已經被代碼確定了。我實際上並沒有在這裏輸入任何數字;所以使用我需要把Var1變成Var2。所以我無法輸入代碼

Var2=(int)2.856 

因爲2.856一直在改變。 我能做

Var2=(int)Var1? 

或者其他什麼?

+0

它被稱爲_cast_。 –

+0

你不*有*小數。你有一個*浮點變量,*類型爲'float'。 – EJP

+0

可能重複的[如何將float轉換爲int與Java](http://stackoverflow.com/questions/1295424/how-to-convert-float-to-int-with-java) – vaxquis

回答

0

你必須把一個f數之後,所以它視爲float,而不是作爲一個double

var1 = 2.856f; 

然後將其轉換爲int

var2 = (int)var1; 

(int) number :這就是所謂的鑄造(可以用其他原始類型製作,也可以用類製作)。當將一個數字轉換爲int時,它將刪除非整數部分(點之後),並返回整數部分。

注意:我建議您遵循Java命名約定。您的變量應該命名爲nameOfVariable,而類應該命名爲NameOfClass

0
float f = 2.345F; 
in i = (int) f; 

就這麼簡單。 是的,如果這不明確;您需要將F放在浮點數值的後面,否則將被解釋爲雙精度值。

0

這確實是最簡單的方法。 (int)所做的就是將float變量「轉換」爲整數形式。由於浮點變量由於小數點而不能存儲爲整數,因此(int)通過截去小數部分將「浮點」轉換爲整數。由於您使用的是java,因此遵循java命名約定也是一個好主意,在這種情況下,這意味着您應該使用小寫字母來啓動變量名稱。