Перейти к содержанию
sys

Округление ИТОГА, цены товара в корзине и т.п.

Рекомендуемые сообщения

Собственно, озадачился следующей проблемой.

В основном все цены в магазине круглые, т.е 1000, 1500, 1550 и тп.

Но при совокупных заказах и ввода скидок, создаются ситуации, когда итоговая сумма становится не целым числом, т.е. 1009, 1599, 1590 и тп

Как можно сделать так, чтобы все цены, хотя бы в Итоге (в корзине) и с последующим формированием в заказе, округлять до целых чисел, в данный момент до 50 рублей.

К примеру, если товар в итоге имеет число 1570 или 1540, то сумма в итоге выводилась 1550 рублей, если 1590 или 1610, то до 1600 руб.

Конкретно:

Мне нужно задать шаг округления при приближении к которому сумма доводится до необходимого целого числа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По ходу, я как всегда в оригинале! :lol:

Неужели ни у кого, таких случаев нет???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ты прав - ты оригинален))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ты прав - ты оригинален))

Потому, что я реален ;)

Задумано, это для того, чтобы в расчетах было проще, к примеру многие системы или банкоматы вообще не принимают, купюры ниже 100 рублей!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

добрый день

В \system\library\tax.php попробуй написать так:

public function calculate($value, $tax_class_id, $calculate = TRUE) {

if (($calculate) && (isset($this->taxes[$tax_class_id]))) {

$rate = $this->getRate($tax_class_id);

return ceil(($value + ($value * $rate / 100))/50)*50;

} else {

return ceil($value/50)*50;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.