Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

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

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

 

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

 

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

 

версия 1.5.4.1 

 

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

 

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

 

 

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

в шаблонах, все вхождения <?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);

  • +1 2
Link to post
Share on other sites

в шаблонах, все вхождения <?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);

верняк:)

  • +1 2
Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

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

Link to post
Share on other sites

 

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

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

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

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

  • +1 1
Link to post
Share on other sites

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

 

отлично!

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

 

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

Link to post
Share on other sites

как будет выглядеть условие проверки валюты, например (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);
		}
  • +1 4
Link to post
Share on other sites

  • 4 weeks later...

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

Edited by afwollis
Link to post
Share on other sites

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

Edited by afwollis
Link to post
Share on other sites

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

Edited by afwollis
  • +1 1
Link to post
Share on other sites

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

Edited by afwollis
Link to post
Share on other sites

  • 7 months later...

 

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

 

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

Link to post
Share on other sites

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

system/library

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.