使用PHP向下舍入到最接近的10000

时间:2014-03-03 17:14:50

标签: php rounding

如果我有以下代码来抓取array个值并将它们全部加在一起,那么如何使用PHP将它们向下舍入到最接近的10000?

这是我目前的代码

$rows = $db->get("sales");
$sales = 0;
foreach($rows as $row) {
    $stock = $sales + $row['sales'];
}
return $sales;

示例结果将是

146740

我怎么能把它作为

返回
140000

虽然如果我的数字大于 100万,我怎么能将其返回为 100万

2 个答案:

答案 0 :(得分:7)

除以10000,使用floor向下舍入为整数,然后乘以10000:

$x = 146740;
$x = 10000 * floor($x/10000);

或减去剩余物:

$x = 146740;
$x = $x - ($x % 10000);

要将此扩展到100万,您可以执行以下操作:

if ($x > 1000000) {
    $divisor = 1000000;
} elseif ($x > 10000) {
    $divisor = 10000;
} else {
    $divisor = 1;
}
$x = $x - ($x % divisor);

答案 1 :(得分:-1)

你可以将值除以1000.如果它是整数146740/1000 = 146.然后乘以1000将得到146000