Java:整数到5的最接近的倍数(向上或向下)

我需要将一个数字舍入到最接近的5的倍数(向上或向下)。 例如,以下是需要向上/向下舍入的数字列表以及其旁边的数字。

12.5 10 62.1 60 68.3 70 74.5 75 80.7 80 

数字将只是积极的。

没有testing过,但是5*(Math.round(f/5)); 应该pipe用

上限值为5的最大倍数

 5*(Math.ceil(Math.abs(number/5))); 

为更低的价值

 5*(Math.floor(Math.abs(number/5))); 

它只给出正值。

 public static void main(String args[]) { double num = 67.5; if (num % 5 == 0) System.out.println("OK"); else if (num % 5 < 2.5) num = num - num % 5; else num = num + (5 - num % 5); System.out.println(num); } 

尝试这个。

怎么样这样的事情:

 return round((number/5))*5; 

Gefei的解决scheme正在工作,但我必须明确地转换为这样的double: 5*(Math.round((double)f/5))