Как вычислить цену без скидки и округлить?

121
09 января 2021, 16:40

Есть 2 переменные: цена со скидкой и размер скидки. Нужно вывести изначальную цену без скидки. Делаю это так:

$discount = 53;
$price = 1000;
echo floor(($price/(100-$discount)*100)/10)*10 // выведет 2120;

Как сделать округление в большую сторону до 50 (например, в примере вместо 2120 должно получиться 2150), или до сотен, если десятков больше пяти (2160 -> 2200)?

Answer 1

Могли бы хотя бы попытаться решить задачу самостоятельно

function myRound($value) {
    $remain = $value % 100;
    if ($remain === 0) {
        return $value;
    } elseif ($remain <= 50) {
        return $value + (50 - $remain);
    }
    return $value + (100 - $remain);
}
$array = array_fill_keys([2100, 2120, 2150, 2170], null);
foreach($array as $key => $value) {
    $array[$key] = myRound($key);
}
print_r($array);

Array ( [2100] => 2100 [2120] => 2150 [2150] => 2150 [2170] => 2200 )

READ ALSO
Вывод значения количества из бд

Вывод значения количества из бд

Есть таблица shop_order, в этой таблице данные о заказах за исключением количества (поле quantity), количество находится в другой таблице - shop_order_itemsНужно...

86
Как подключить API на локальном сервере?

Как подключить API на локальном сервере?

У меня есть форма регистрации, получается клиент наполняет эту форму, и в конце калькулятор вычитывает сумму которую клиент должен оплатить,...

99
Как из одной таблицы передать значение в другую таблицу

Как из одной таблицы передать значение в другую таблицу

Подскажите пожалуйста, нужно из таблицы shop_order_items передать в таблицу shop_vmeste_order значение поля quantityПередать его нужно в поле total

103
Как объединить два скрипта в один

Как объединить два скрипта в один

Дано два скрипта к которым обращается javascript код клиента:

87