Rounding up a number to nearest multiple of 5

后端 未结 21 1982
感动是毒
感动是毒 2020-11-27 15:24

Does anyone know how to round up a number to its nearest multiple of 5? I found an algorithm to round it to the nearest multiple of 10 but I can\'t find this one.

T

21条回答
  •  挽巷
    挽巷 (楼主)
    2020-11-27 16:25

     int roundToNearestMultiple(int num, int multipleOf){
            int floorNearest = ((int) Math.floor(num * 1.0/multipleOf)) * multipleOf;
            int ceilNearest = ((int) Math.ceil(num  * 1.0/multipleOf)) * multipleOf;
            int floorNearestDiff = Math.abs(floorNearest - num);
            int ceilNearestDiff = Math.abs(ceilNearest - num);
            if(floorNearestDiff <= ceilNearestDiff) {
                return floorNearest;
            } else {
                return ceilNearest;
            } 
        }
    

提交回复
热议问题