这可以通过多种方式来完成,具体取决于您的首选舍入约定:
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;}


