Округление цены в Shop-Script

Странно, сокраитл код, как сказал ndmitry
А отображение цены не изменилось: 13,987.92

ndmitry, так ты правильно написал сокращения? У меня ничего не изменилось после этих манипуляций :confused:
 
ndmitry, так ты правильно написал сокращения? У меня ничего не изменилось после этих манипуляций :confused:
Сейчас проверил - у меня работает, но только для просто "Цена", а для "Цена с учётом выбранных опций" - нет. Надо дальше покопаться или попробуй, то, что hyip-catalog.com отписал.
 
Для просмотра ссылки Войди или Зарегистрируйся - DSL-Group ?
Это ваш сайт?)
Если да - то вы писали шоп моему конкуренту и очень мерзкому человеку )))

Если нет - то дам фикс платежек на округление )

Да, мой сайт, уже сделал давным давно, забыл даже что тему заводил ))
PS А какой я делал? Можно ссылочку? :)
 
формат вида 2 300
В /core_functions/functions.php:
PHP:
function _formatPrice($price)
{
 $price = (string)$price;
 if ( !strstr($price,".") )
 $oldPrice = $price;  
 $res = "";
 $i = 0;
 for( $i=strlen($price)-1; $i>=0; $i-- )
 {
  if ( $price[$i] == "." )
   break;
  else
   $res = $price[$i].$res;
 }
 $res = ".".$res;
 $i--;
 $digitCounter = 0;
 for( ; $i>=0; $i-- )
 {
  $digitCounter++;
  $res = $price[$i].$res;
  if ( $digitCounter == 3 && $i != 0 )
  {
   $res = ",".$res;
   $digitCounter = 0;
  }
 }
 return $res;
}
заменяем на:
PHP:
function _formatPrice($price)
{
	$price = (string)$price;
	if ( !strstr($price," ") )
		$price .= ".";
	$oldPrice = $price;		
	$res = "";
	$i = 0;
	for( $i=strlen($price)-1; $i>=0; $i-- )
	{
		if ( $price[$i] == "." )
			break;
		else
			$res = $price[$i].$res;
	}
	$res = " ".$res;
	$i--;
	$digitCounter = 0;
	for( ; $i>=0; $i-- )
	{
		$digitCounter++;
		$res = $price[$i].$res;
		if ( $digitCounter == 3 && $i != 0 )
		{
			$res = " ".$res;
			$digitCounter = 0;
		}
	}
	return $res;
}
 
Вот в чем плюс лицензии : задайм вопрос в Тех потдержку
Получаем :



Добавлено через 1 минуту
Вариант номер два ) Для тех кто хочет сменить вырвать зубы через ... шаблон )

это для какой версии? У меня нет такого текста....
 
а как убрать (округлить) копейки ?

есть 148.01 руб
нужно 148 руб

есть 148.61 руб
нужно 149 руб

ну или хотя бы просто "отрезать" копейки?
 
  • Заблокирован
  • #17
Было уже... В файле functions.php копай и ищи там .00 где нули сносишь... Уже писалось на форуме. юзай поиск
 
формат вида 2 300

В /core_functions/functions.php:

function _formatPrice($price)
{
$price = (string)$price;
if ( !strstr($price,".") )

$oldPrice = $price;
$res = "";
$i = 0;
for( $i=strlen($price)-1; $i>=0; $i-- )
{
if ( $price[$i] == "." )
break;
else
$res = $price[$i].$res;
}
$res = ".".$res;
$i--;
$digitCounter = 0;
for( ; $i>=0; $i-- )
{
$digitCounter++;
$res = $price[$i].$res;
if ( $digitCounter == 3 && $i != 0 )
{
$res = ",".$res;
$digitCounter = 0;
}
}

return $res;
}

заменяем на:

function _formatPrice($price)
{
$price = (string)$price;

if ( !strstr($price," ") )
$price .= ".";

$oldPrice = $price;
$res = "";

$i = 0;
for( $i=strlen($price)-1; $i>=0; $i-- )
{
if ( $price[$i] == "." )
break;
else
$res = $price[$i].$res;
}

$res = " ".$res;

$i--;
$digitCounter = 0;
for( ; $i>=0; $i-- )
{
$digitCounter++;
$res = $price[$i].$res;
if ( $digitCounter == 3 && $i != 0 )
{
$res = " ".$res;
$digitCounter = 0;
}
}

return $res;
}

В валюте по-умолчанию работает правильно - новая цена, старая и экономия (вид: 13 500 грн.)
Но, если поменять валюту - тогда получается 13 500 .44 грн.
Если в товаре есть старая цена, тогда цена отображается нормально (13 500 грн.), а Старая цена: 16 474 .95 грн. и экономия: 2 853 .45 грн. (18%)

Как избавиться от этих копеек при смене валюты?
 
Ребята, кто-то решил проблему с копейками при смене валюты (подробно о проблеме в топике №20)?
Очень уж глаз муляют.. Да и при заказе по безналу валюта меняется и во всех счетах вылазят копейки...
 
А у меня другая проблемма с округлением. Мне надо, что бы после запятов всегда было 99 копеек. Цены выставляю в баксах с 99 центами, при переводе в гривны - естественно цена меняется и уже не 99 копеек, а надо что бы округлял (или просто ставил) копейки 99. Например 31.99 грн.
Это не прихоть, просто магазин называется 99 центов и хотелось бы продолжить идею. Буду благодарен ибо сам в php ноль. Только благодаря этому сайту и держусь.
 
Назад
Сверху