在 PHP 中向上舍入为最接近的 5 的倍数
我想要一个php函数,当用52调用它时返回55。
我试过了这个功能:round()
echo round(94, -1); // 90
它返回90,但我想要95。
谢谢。
我想要一个php函数,当用52调用它时返回55。
我试过了这个功能:round()
echo round(94, -1); // 90
它返回90,但我想要95。
谢谢。
这可以通过多种方式完成,具体取决于您首选的舍入约定:
行为: 50 输出 55, 52 输出 55
function roundUpToAny($n,$x=5) {
return round(($n+$x/2)/$x)*$x;
}
行为: 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;
}
行为: 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;
}
round()
(或者如果你想总是四舍五入ceil()
)值 5(分辨率/粒度)可以是任何内容 — 在步骤 1 和 3 中都已替换
综上所述:
$rounded_number = ceil( $initial_number / 5 ) * 5