将数字向上舍入为最接近的 5 的倍数

2022-08-31 15:58:44

有谁知道如何将一个数字四舍五入到最接近的5的倍数?我找到了一种算法,可以将其四舍五入到最接近的10的倍数,但我找不到这个算法。

这做了十个。

double number = Math.round((len + 5)/ 10.0) * 10.0;

答案 1

舍入到任意值中最接近的值

int round(double i, int v){
    return Math.round(i/v) * v;
}

您也可以替换为 或 使其始终向下舍入或始终向上舍入。Math.round()Math.floor()Math.ceil()


答案 2
int roundUp(int n) {
    return (n + 4) / 5 * 5;
}

注意 - YankeeWhiskey的答案是四舍五入到最接近的倍数,这是四舍五入。如果您需要它来处理负数,则需要修改。请注意,整数除法后跟相同数字的整数乘法是向下舍入的方法。