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))