所以这是我的情况.我有几个数字,我想要舍入到最接近的10和最小倍数.
例如,51到59之间的值应该舍入到50.
Input = 59 = >Respose = 50 Input = 51 => Respose = 50
我试过了
$number = round(53, -1);
这将是50,这是我想要的正确,但如果我尝试56,它会给我60.但在这里也,我期待50.有人可以帮我吗?
接受的答案(如果有人正在阅读问题)
楼层($ number/10)*10
但是,它给出了十进制值,我将其舍入并更改为
$amount = (int)floor($amount / 10)*10;
Bathsheba.. 6
使用floor
代替; 首先除以10然后将截断的结果乘以:
$number = floor($number / 10) * 10
使用诸如此类的解决方案$number = round($number - 5, -1);
可能会导致浮点边缘情况出现问题.(有趣的是,这是早期Java实现的方式,带来了灾难性的结果.)
使用floor
代替; 首先除以10然后将截断的结果乘以:
$number = floor($number / 10) * 10
使用诸如此类的解决方案$number = round($number - 5, -1);
可能会导致浮点边缘情况出现问题.(有趣的是,这是早期Java实现的方式,带来了灾难性的结果.)