2011-11-17 33 views

Trả lời

8

Sử dụng Float.intValue():

Integer i = value.intValue(); 

Lưu ý rằng điều này gây ra autoboxing, nhưng kể từ khi bạn đang lập kế hoạch để tạo ra một Integer dù sao, won này' t có bất kỳ tác động hiệu suất nào.

Cũng lưu ý rằng bạn nên chú ý làm tròn: intValue()int được đúc tròn về 0. Để làm tròn số nguyên gần nhất, hãy sử dụng Math.round() để làm tròn số sử dụng Math.floor(), để làm tròn sử dụng Math.ceil(). Nếu bạn cần một số loại làm tròn khác, bạn cần tự mình thực hiện nó.

0

Sử dụng phương pháp value.intValue().

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

new Float(value).intValue() hoặc simly đúc nó vào int int v = (int) value

+0

Ông muốn là một 'Integer', không một 'int'. – uckelman

+0

Ví dụ thứ hai của bạn sẽ không hoạt động (lỗi thời gian biên dịch). Bạn sẽ cần phải làm '(int) (float) giá trị'. – wchargin

1

Hãy thử điều này:

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

f.intValue() là con đường để đi ..

+0

+1 vì điều này làm cho việc làm tròn cần thiết rõ ràng (mặc dù bạn có thể muốn giải thích về điều này một chút) – Waldheinz

0

Bạn chỉ có thể làm điều này:

Float value = 30.0f; 
Integer intVal = value.intValue(); // auto-boxing happens here 
Các vấn đề liên quan