2011-11-17 41 views

回答

8

使用Float.intValue()

Integer i = value.intValue(); 

請注意,這會導致自動裝箱,但因爲你打算無論如何要創建一個Integer,此次榮獲」沒有任何性能影響。

還要注意,你應該注意四捨五入:intValue()和一個int轉向零。四捨五入到最接近的整數,使用Math.round(),四捨五入使用Math.floor(),四捨五入使用Math.ceil()。如果您需要其他類型的舍入,則需要自己實施。

0

使用value.intValue()方法。

Float value = 30.0F; 
Integer intValue=Integer.valueOf(value.intValue()); 
0

new Float(value).intValue()或simly它轉換成int int v = (int) value

+0

他希望是一個'Integer',不一個'int'。 – uckelman

+0

你的第二個例子將不起作用(編譯時錯誤)。你需要做'(int)(float)value'。 – wchargin

1

試試這個:

Float f = new Float(10.5); 
Integer i = new Integer((int)Math.ceil(f)); 

f.intValue()是要走的路..

+0

+1,因爲這使得必要的四捨五入明確(儘管您可能需要詳細說明這一點) – Waldheinz

0

你可以只是這樣做:

Float value = 30.0f; 
Integer intVal = value.intValue(); // auto-boxing happens here 
相關問題