将整数四舍五入到倍数
在 C 中,将整数值四舍五入到另一个数字的最接近倍数是一个简单的操作。以下函数有效且准确地完成此任务:
int roundUp(int numToRound, int multiple) { if (multiple == 0) { return numToRound; } int remainder = abs(numToRound) % multiple; if (remainder == 0) { return numToRound; } if (numToRound < 0) { return -(abs(numToRound) - remainder); } else { return numToRound + multiple - remainder; } }
此函数采用两个整数参数:要舍入的值 (numToRound) 和要舍入的倍数 (multiple)。它将向上舍入的值返回为整数。
函数首先检查倍数是否为零。如果是,则函数返回原始值不变。
如果倍数不为零,则函数计算 numToRound 除以倍数所得的余数的绝对值。这给出了原始值和它下面最接近的倍数之间的差异。
接下来,该函数检查原始值是否为负数。如果是,它会相应地调整舍入值,以确保它仍然大于或等于原始值。对于正值,该函数只需添加必要的金额即可向上舍入到最接近的倍数。
示例
请考虑以下示例:
在每种情况下,函数都会正确舍入原始值最大为给定倍数的最接近倍数。
以上是如何有效地将整数舍入到 C 中最接近的倍数?的详细内容。更多信息请关注PHP中文网其他相关文章!