将正数四舍五入到5的下一个最接近的倍数 [英] Rounding off a positive number to the next nearest multiple of 5

查看:140
本文介绍了将正数四舍五入到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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆