我想要一个 php 函数,当用 52 调用它时返回 55。
我试过 round()
函数:
echo round(94, -1); // 90
它返回 90 但我想要 95。
谢谢。
最佳答案
这可以通过多种方式完成,具体取决于您喜欢的舍入约定:
1。四舍五入到下一个 5的倍数,排除当前数字
行为:50 输出 55,52 输出 55
function roundUpToAny($n,$x=5) {
return round(($n+$x/2)/$x)*$x;
}
2。四舍五入到 最近 5 的倍数,包括当前数字
行为:50 输出 50、52 输出 55、50.25 输出 50
function roundUpToAny($n,$x=5) {
return (round($n)%$x === 0) ? round($n) : round(($n+$x/2)/$x)*$x;
}
3。向上取整为整数,然后取最接近的 5 倍数
行为:50 输出 50、52 输出 55、50.25 输出 55
function roundUpToAny($n,$x=5) {
return (ceil($n)%$x === 0) ? ceil($n) : round(($n+$x/2)/$x)*$x;
}
关于php - 在 PHP 中四舍五入到最接近的五的倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133859/