1

我正在修改 OpenCart 的产品过滤器之一,以按价格过滤产品。我所做的是获取属于某个类别的所有产品并提取它们的价格以将它们放在滑块中,但这根本不优雅或“专业”,我想编写一个适当的解决方案。

假设我有以下价格:125、270、517、1680 和 14790。我想做的(理想情况下)是得到最高的数字(在这个简短的例子中是 14790),然后从中得到类似“15000”的东西,所以我可以将它划分为给定因子(如 100)并将其放入滑块中。

是否有 PHP 函数可以进行这种计算?

4

4 回答 4

3

如果我理解您的问题,并且您要求四舍五入到最接近的 100,则没有特定的函数,但是通过一些数学运算,您可以像这样四舍五入到最接近的一百:

$price = ceil($price / 100) * 100;

使用:

$price = ceil($price / 1000) * 1000;

将四舍五入到最接近的 1000。

于 2013-02-27T08:28:04.180 回答
2

获取最大数字,然后将其四舍五入到最接近的千位?

<?php

$largest = max(125, 270, 517, 1680, 14790);

$nearest = ceil($largest / 1000) * 1000;
于 2013-02-27T08:28:22.937 回答
1

您可以遍历数字,边走边记住最高值。这是常见的编码实践。(好吧,确实还有一个 max() 函数,echo max(1, 3, 5, 6, 7); // 7

然后你可以将最大的数字除以你的因数,把你得到的整数加一,然后再乘以这个因数,就可以了。

于 2013-02-27T08:26:16.527 回答
1

就这样:x=floor(14790/100);floor 函数返回下一个最小的整数值

于 2013-02-27T08:27:51.703 回答