php 相同分数,php – 舍入到最接近的分数(半,四分之一等)

因为你正在寻找四分之一(.00,.25,.50,.75),所以将你的数字乘以4,根据需要舍入到最接近的整数(如果下降,如果是上限,则舍弃),然后除以4。

1.32,下降到最接近的第四:

1.32 * 4 = 5.28

floor(5.28) = 5.00

5.00 / 4 = 1.25

相同的原则适用于任何其他分数,例如三分之二或八分之一(.0,.125,.25,.375,.5,.625,.75,.875)。例如:

1.77,最多八分

1.77 * 8 = 14.16

ceil(14.16) = 15.00

15.00 / 8 = 1.875

只是为了好玩,你可以写一个这样的功能:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值