我有一些价值,例如2.3
,3.6
,3.8
现在我想将价值作为最接近的分数。
假设
当值为2.3
时,修改后的值为2.5
当值为2.2
时,修改后的值将为2
答案 0 :(得分:1)
我知道你想要舍入到最接近的"半整数"。
如果是这样,那么你可以使用round()
函数,但只需要一些修饰符。
因为round()
只返回整数,所以你需要在舍入之前修改你的值,然后在以反向方式舍入之后再次修改它以使其工作。
由于你想要用0.5进行舍入,即1/2,你需要先将你的值乘以2,然后再将其除以。
所以这里的模式是:
$roundedVal = round($origVal*2)/2;
您问题中的示例:
var_dump(round(2.3*2)/2); //2.5
var_dump(round(2.2*2)/2); //2.0
答案 1 :(得分:0)
您需要查看PHP的round()函数及其可选标志。
$myValue = -5;
echo abs($myValue); //outputs 5