简体   繁体   中英

Round down to nearest multiple of 10000 using PHP

If I have the following code which grabs an array of values and adds them all together, how can I then round them down to the nearest 10000 using PHP?

Here's the code I currently have

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

An example result would be

146740

How could I then make that returned as

140000

Although if I had a number greater than 1 million , how could I have that returned as just 1 million ?

Divide by 10000, use floor to round down to an integer, then multiply by 10000:

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

Or subtract the remainer:

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

To extend this to 1 million, you can do:

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM