伙计们,我对四舍五入有一点问题。
我会将数字四舍五入到最接近的5的倍数。
这里有一些例子:
4-> 0
67-> 65
23-> 20
44-> 40
59-> 55
我尝试了不同的方法,但是我做不到。
有某种方法可以做到吗?
假设您的数字以整数格式存储,可以对此使用整数除法:
int a = 44;
int r = a/5 * 5; //will round down to 40
如果您具有类型为[[int的变量,则可以利用以下事实:用除号int将它们除以整数,因此,如果再次乘以该数字,则表示得到你想要的。
所以:int a = 59;
std::cout << a/5*5 << "\n";
将输出50。如果值未存储为整数,则可以在执行除法之前将其强制转换:
float a = 59; std::cout << (int)a/5*5 << "\n";
int n{44};
int multiple_of_five = (n / 5) * 5;