四舍五入到最接近的分数(一半,四分之一等)

因此,我需要创建以下函数,但是如果不进行复杂的数学运算,我的头将无法想到PHP中的任何可能性。

  • 轮 到最接近的十进制(1.81 = 1.90,1.89 = 1.90,1.85 = 1.90)
  • 四舍五入到最接近的小数点(1.81 = 1.80,1.89 = 1.80,1.85 = 1.80)
  • 轮 到最接近的X.25 / X.50 / X.75 /×.00(1.81 = 2,1.32 = 1.50)
  • 轮 至最接近的X.25 / X.50 / X.75 /×.00(1.81 = 1.75,1.32 = 1.25)
  • 轮 到最接近的X.50 / 1(1.23 = 1.50,1.83 = 2)
  • 轮 至最接近的X.50 / 1(1.23 = 1,2,1.83 = 1.50)

我已经在Google上搜索了2个小时,而出现的唯一内容就是Excel论坛。一些简单的PHP行是否可能?

回答:

既然你正在寻找 四分之三

.00.25.50.75),乘你的电话号码由4轮最接近的整数根据需要(floor如果向下,ceil如果向上),然后除以4。

1.32,最接近的第四位

1.32 * 4 = 5.28

底(5.28)= 5.00

5.00 / 4 =

相同的原理适用于任何其他组分,例如 三分之二八分

.0.125.25.375.5.625.75.875)。例如:

1.77,最接近的八分之一

1.77 * 8 = 14.16

ceil(14.16)= 15.00

15.00 / 8 =


只是为了好玩,您可以编写如下函数:

function floorToFraction($number, $denominator = 1)

{

$x = $number * $denominator;

$x = floor($x);

$x = $x / $denominator;

return $x;

}

echo floorToFraction(1.82); // 1

echo floorToFraction(1.82, 2); // 1.5

echo floorToFraction(1.82, 3); // 1.6666666666667

echo floorToFraction(1.82, 4); // 1.75

echo floorToFraction(1.82, 9); // 1.7777777777778

echo floorToFraction(1.82, 25); // 1.8

以上是 四舍五入到最接近的分数(一半,四分之一等) 的全部内容, 来源链接: utcz.com/qa/425240.html

回到顶部