Tôi có đoạn mã sau:Java int cast trả về 0
int i = (int) 0.72;
System.out.println(i);
nào mang lại kết quả như sau:
0
tôi sẽ của tưởng tượng rằng biến i
nên có giá trị của 1
(kể từ 0,72> 0,5 => 1), tại sao điều này không đúng?
(Tôi tưởng tượng rằng khi đúc để int, nó chỉ đơn giản cắt giảm của các chữ số thập phân sau dấu phẩy, không tính đến tài khoản của làm tròn lên, vì thế tôi có lẽ sẽ phải chăm sóc mà bản thân mình?)
Ai đó cần cắt bớt; những người khác cần làm tròn. Chỉ có một quy tắc có thể áp dụng cho một chuyển đổi thu hẹp và một quy tắc là cắt ngắn. –
Những gì bạn định sử dụng, là 'Math.round()' – Aufziehvogel
bài đăng này http: // stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java có thể giúp bạn –