2009-11-23 43 views
18

Tôi muốn làm tròn số nguyên xuống 1000 gần nhất trong Java.Làm thế nào để làm tròn * xuống * số nguyên trong Java?

Vì vậy, ví dụ:

  • 13.623 viên đạn để 13.000
  • 18.999 viên đạn đến 18.000
  • vv
+7

Bạn có nghĩa là làm tròn xuống hoặc tròn số không? Có sự khác biệt khi các con số có thể là số âm. –

+0

thực sự tôi có nghĩa là vòng xuống vì vậy tôi có chỉ hàng ngàn để đối phó với, tức là 43.844 viên đạn xuống 43.000 (không 44.000) – Redandwhite

Trả lời

48

Đơn giản chỉ cần chia cho 1000 đến mất các chữ số mà không phải là thú vị cho bạn, và nhân với 1000:

i = i/1000 * 1000 

Hoặc, bạn cũng có thể thử:

i = i - (i % 1000) 
+1

+1: Tôi không bao giờ nghĩ để sử dụng mô-đun theo cách này. Ngoài ra, bạn có thể rút ngắn dòng một chút bằng cách thực hiện 'i - = i% 1000' (dunno nếu dấu ngoặc đơn được yêu cầu ở bên phải hay không) – Powerlord

+0

Thật sao? Tôi luôn nghĩ về mô đun như một cách để có được các đơn vị của một số ('i% 10'), v.v. Về phiên bản rút gọn - đó có thể là những gì tôi làm trong mã của tôi, nhưng muốn nó rõ ràng ở đây. – abyx

+4

Vòng này hướng về 0. – starblue

11

Bạn có thể chia số 1000, áp dụng Math.floor, nhân với 1000 và đúc lại để nguyên.

Các vấn đề liên quan