Как вычесть скидку из заказа, избавившись от копеек?

evshi

Новичок
Есть задача - уменьшить в заказе стоимость товаров на размер скидки.

Например, в заказе 2 товара:
Т1 по цене 100р * 1шт.
Т2 по цене 150р * 1шт.
Скидка 25р.

Надо уменьшить стоимость товаров на размер скидки. По-хорошему скидка должна равномерно "размазаться" по стоимостям товаров, т.е. 25/2=12.5. Далее 100-12.5 и 150-12.5. В итоге получим 87,5+137,5=225р

Вроде бы такой вариант рабочий. Но можно ли что-то придумать, чтобы избавиться от копеек?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Просуммируй все копейки и приклей к одному товару.
 

AmdY

Пью пиво
Команда форума
Правильный вариант, узнать у тех, кто задачу ставил, у них могут быть особые правила процентов и округлений, далёкие от математических.
Есть варианты, один товар продавать за 88, второй за 137 (если их равное количество).
Обычная практика при неделимых цифрах - последний платит разщницу от округления, допустим 1 разделить на 3 - получается 0.33333.... округляем до 0.33, а последний 0.34
 

antson

Новичок
Партнер клуба
@AmdY, скорее всего кто задачу ставил еще сам не знает :(

а еще во многих магазинах в конце чека была строка
скидка : кол-во копеек при округлении суммы стоимости товаров до целого.

а по 54-фз фискализироватся должны товарные позиции с учетом скидок.
тоже прелесть раскидывать :(
 

AmdY

Пью пиво
Команда форума
скорее всего - опасная фича. лучше 10 раз у разных людей переспросить, чем протом попасть на миллионы из-за округлений до 2 цифр после запятой. иногда программисту самостоятельно думать вредно.
 

AnrDaemon

Продвинутый новичок
Округление - одна из причин, почему я стараюсь с финансовыми проектами дела не иметь.
А если имею, то требую бухгалтера в сопровождение.
 
Сверху