将数字向上舍入为最接近的 5 的倍数
有谁知道如何将一个数字四舍五入到最接近的5的倍数?我找到了一种算法,可以将其四舍五入到最接近的10的倍数,但我找不到这个算法。
这做了十个。
double number = Math.round((len + 5)/ 10.0) * 10.0;
有谁知道如何将一个数字四舍五入到最接近的5的倍数?我找到了一种算法,可以将其四舍五入到最接近的10的倍数,但我找不到这个算法。
这做了十个。
double number = Math.round((len + 5)/ 10.0) * 10.0;
舍入到任意值中最接近的值
int round(double i, int v){
return Math.round(i/v) * v;
}
您也可以替换为 或 使其始终向下舍入或始终向上舍入。Math.round()
Math.floor()
Math.ceil()
int roundUp(int n) {
return (n + 4) / 5 * 5;
}
注意 - YankeeWhiskey的答案是四舍五入到最接近的倍数,这是四舍五入。如果您需要它来处理负数,则需要修改。请注意,整数除法后跟相同数字的整数乘法是向下舍入的方法。