У меня есть проблема, связанная с корзиной покупок электронной коммерции. В определенных обстоятельствах (обычно со специальными предложениями или ваучерами) может быть сделано уменьшение общей суммы корзины - например, Ваучер на £ 10 от полной стоимости корзины. Чтобы рассчитать налоговую часть этой корзины, одно из предложений налоговой инспекции в Великобритании состоит в том, чтобы разделить сокращение на количество продуктов в вашей корзине и использовать его для расчета новой цены брутто (вкл. Налога) для каждого продукта, из которого вы можете рассчитать новую чистую (без налога) цену. Например: скидка в размере 10 фунтов стерлингов будет (в случае с 2 продуктами) 5 фунтов стерлингов от каждого Очевидно, что одна проблема здесь может быть, если один из предметов очень дешево, например, 2,99 фунтов стерлингов и, следовательно, не может взять 5 фунтов стерлингов.
Мне нужен метод расчета того, каким должно быть это сокращение, чтобы оно равномерно распределялось между общим количеством продуктов, но никогда не делало стоимость одного элемента меньше нуля. Помогите!
FWIW Я буду программировать это на PHP
EDIT
Пример Освальда даст мне что-то вроде этого в PHP:
$prodA = 2.99;
$prodB = 20.00;
$total = ($prodA + $prodB);
$reduction = 5.00;
$newA = ($prodA - (($prodA/$total) * $reduction));
$newB = ($prodB - (($prodB/$total) * $reduction));
Кажется, что складывается ..