本文介绍了在 PHP 中四舍五入到最接近的五的倍数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想要一个用 52 调用时返回 55 的 php 函数.
I want a php function which returns 55 when calling it with 52.
我试过 round() 函数:
echo round(94, -1); // 90它返回 90 但我想要 95.
It returns 90 but I want 95.
谢谢.
推荐答案这可以通过多种方式实现,具体取决于您喜欢的舍入约定:
This can be accomplished in a number of ways, depending on your preferred rounding convention:
行为: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
2. Round to the nearest multiple of 5, include the current number
Behaviour: 50 outputs 50, 52 outputs 55, 50.25 outputs 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 中四舍五入到最接近的五的倍数
发布评论