VictorDiez

[Решено] Округление цены до сотен (например 5762->5800 руб.)

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

VictorDiez    13

Основная валюта - доллар. Вторая валюта - рубль. Курс рубля 8700.

Есть цены в центах, соответсвенно в рублях получаются не круглые числа.

Да и хождение наличности мелкой отсутствует.

 

Надо округлять цену в рублях до сотен, например 6235 -> 6200 руб. или 3860 -> 3900 руб.

 

кто знает где что менять? помогите!

 

версия 1.5.4.1 

 

round($price,-2);     <<<<<<<    решение как бы есть в факе и как бы его нет, так как не указано, где эта строка.

 

Куплю адрес куда вставлять эту строку :D

 

 

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


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

в шаблонах, все вхождения <?php echo $price; ?> заменить на <?php echo round($price,-2); ?>

 

и <?php echo $product['price']; ?> , соответсвенно :)

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


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

в шаблонах, все вхождения <?php echo $price; ?> заменить на <?php echo round($price,-2); ?>

 

и <?php echo $product['price']; ?> , соответсвенно :)

А не замахаешься шаблоны править?

 

system.library/currency.php строку

        $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);

заменить на

        $string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);

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


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

в шаблонах, все вхождения <?php echo $price; ?> заменить на <?php echo round($price,-2); ?>

 

и <?php echo $product['price']; ?> , соответсвенно :)

А не замахаешься шаблоны править?

 

system.library/currency.php строку



        $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);

заменить на



        $string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);

верняк:)

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


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

модуль сможете написать такой?

модуль замены одной строки?

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


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

модуль сможете написать такой?

модуль замены одной строки?

для ленивых мажоров)

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


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

 

модуль сможете написать такой?

модуль замены одной строки?

для ленивых мажоров)

Лучше в сборку ocStore внести, чтобы в админке можно было рядом с валютой ввести отрицательное кол-во знаков после запятой.

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


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

$string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);

 

отлично!

только это (округление) нужно для рубля, а для доллара нет

 

как будет выглядеть условие проверки валюты, например (RUB) ?

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


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

как будет выглядеть условие проверки валюты, например (RUB) ?

 

Так:

    	        if ($currency == 'RUB')
		{
			$string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);
		}
		else
		{
			$string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);
		}

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


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

Вот за это спасибо! А что тут можно подправить что бы округлялась цена в рублях до 500 рублей? Напр. 8200=8000   8700=8500  8800=9000

Изменено пользователем afwollis

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


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

round($value, -3) :wink:

Изменено пользователем afwollis

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


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

Пробовал, до 1000 округляет

Изменено пользователем afwollis

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


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

прошу прощения, упустил что до 500 надо..
попробуйте так round(($value/5),-2)*5 :)

Изменено пользователем afwollis

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


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

Спасибо, помогло!!!

Изменено пользователем afwollis

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


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

 

А не замахаешься шаблоны править?

 

system.library/currency.php строку

        $string .= number_format(round($value, (int)$decimal_place), (int)$decimal_place, $decimal_point, $thousand_point);

заменить на

        $string .= number_format(round($value, -2), (int)$decimal_place, $decimal_point, $thousand_point);

Что то найти не могу этот файл в корне. 1.5.5.1.1

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


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

В каком корне? ))

system/library

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

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

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