在 PHP 中我知道它是这样的,但在 Python 中我无法转换函数:
PHP:
function roundBy($a, $b = 5) {
return (int)($a / $b + 0.5) * $b;
}
Python(坏):
def roundBy(a, b):
return int((a / b + 0.5) * b)
输入 -> 预期输出:
30, 5 -> 30
31, 5 -> 30
32, 5 -> 30
33, 5 -> 35
34, 5 -> 35
这里有几个解决方案:
编辑:对于所有 3 个选项,结果是相同的:
我认为第 3 个选项效率较低,因为这些函数可以通过
map
以下方式更轻松地应用于某些并行处理中的不同值:您可以使用以下函数四舍五入到倍数,其中
a
的值和b
要四舍五入的倍数:Python - 函数示例 1:
Python - 函数示例 2(更好、更优化):
返回: