所以这是我的情况。我有几个数字,我想四舍五入到最接近和最小的 10 的倍数。
例如,介于51到59之间的值应四舍五入到50。
Input = 59 = >Respose = 50
Input = 51 => Respose = 50
我试过了
$number = round(53, -1);
这将给出 50,这是我想要的,但如果我尝试使用 56,它会给我 60。但在这里,我期待 50。有人可以帮我吗?
Accepted answer (In case some one is reading the question)
楼层($number/10)*10
但是,它给出的是我舍入并更改为的十进制值
$amount = (int)floor($amount / 10)*10;
最佳答案
使用 floor
代替;首先除以 10,然后将截断的结果相乘:$number = floor($number / 10) * 10
使用 $number = round($number - 5, -1);
等解决方案可能会导致浮点边缘情况出现问题。 (有趣的是,早期的 Java 实现就是这样做的,结果是灾难性的。)
关于php - 四舍五入到最接近和最小的 10 倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41673933/