将正数四舍五入到5的下一个最接近的倍数 [英] Rounding off a positive number to the next nearest multiple of 5
本文介绍了将正数四舍五入到5的下一个最接近的倍数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将数字四舍五入(输入必须保证为整数,并且是正数)到5的下一个倍数。
I need to round of a number (the input is guaranteed to be an integer & is positive) to the next multiple of 5.
我尝试了以下操作:
int round = ((grades[j] + 2)/5) * 5;
但是,这会将数字四舍五入到最接近的5的倍数。
However, this rounds off the number to the nearest multiple of 5.
例如:67四舍五入为65,而不是70。
Eg: 67 is rounded off to 65, not 70.
推荐答案
要舍入一般形式,应为:
To round up the general form should be:
((n + denominator -1) / denominator )* denominator
所以在您的情况下:
int round = ((grades[j] + 4)/5) * 5;
我们从分母中减去1的原因是要处理舍入值的精确倍数,例如:
The reason we deduct 1 from the denominator is to handle exact multiples of the rounding value for instance:
((70 + 4) / 5) * 5
收益率 70
这篇关于将正数四舍五入到5的下一个最接近的倍数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文