php - 在 PHP 中四舍五入到最接近的五的倍数

标签 php function rounding

我想要一个 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/

相关文章:

PHP - 将空格插入 MySQL

php - Opencart如何测试是否安装了vqmod?

javascript - CRM 2011 - 联系人表单加载无法在生日字段更改时分配给函数结果

javascript - try {} without catch {} 可以在 JavaScript 中使用吗?

python - Numpy 以不同于 python 的方式循环

php - 在 PHP 7 中触发 fatal error (非异常)

javascript - $(window).load() 函数内部

django - 在 Django 中四舍五入小数

python - 将数组四舍五入为另一个数组中给定的值

php - 可以在 CodeIgniter View 上放置条件逻辑吗?