2012-02-13 42 views
8

Tôi đang cố gắng tìm cách để làm tròn các giá trị tới 0,05 gần nhất. Ví dụ:Java làm tròn tới gần nhất 0,05

  • 0,93 vòng đến 0,95
  • 0,81 vòng tới 0,80
  • 0,65 trú 0,65
  • 0,68-0,70
  • 0,67 đến 0,65

Có một cách đơn giản để làm điều này trong Java?

+0

bản sao có thể có của [Cách làm tròn số đến n số thập phân trong Java] (http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places- trong java) –

+1

có, có thể. Bạn đã thử bất cứ điều gì? Đây có phải là bài tập về nhà không? – Nishant

Trả lời

20

Một lựa chọn để làm điều này sẽ như sau:

  1. Multiply giá trị bằng 20.
  2. Sử dụng Math.round làm tròn đến số nguyên gần nhất.
  3. Chia cho 20 lần nữa.

Ví dụ:

double rounded = Math.round(x * 20.0)/20.0; 

Hope this helps!

+0

Cảm ơn anh chàng này đã làm việc cho tôi –

+0

Cảm ơn bạn đã trả lời, tôi đã lang thang là có thể làm tròn như thế này: 0,95 vòng đến 1, 0,94 vòng đến 0,90, 0,89 vòng đến 0,85 –

+0

tại sao 20? Không có giải thích? – EyoelD

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