Русская поддержка интернет-магазина PrestaShop
русская поддержка PrestaShop.
Регистрация
Забыли пароль?
Главная
Возможности
Демо
Скачать
Каталог магазинов
Форум
Модули и шаблоны
Администрирование
Реклама и маркетинг
Аналитика и статистика
Оплата и платежные системы
Управление контентом
Экспорт
Фронт-офис
Локализация
Торговые площадки
Управление товарами
Средства миграции
Оформление заказа
Поиск и фильтры
Доставка и логистика
Слайд-шоу
Социальные сети
Модификаторы
Шаблоны PrestaShop
Работа
Главная
Форум
Общие форумы (prestashop v1.5.x)
Общий форум
Расширенное округление, как?
Расширенное округление, как?
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 1
28-04-2013 07:52
Ребята, подскажите пожалуйста как можно реализовать данную функцию:
Задаю стоимость товара в админке в долларах
На странице магазина вывожу цену в рублях
НЬЮАНС - нужно округлять стоимость не до копеек, а до ста рублей.
Например было 1 400
564
, а нужно 1 401 000
Например было 1 400
211
, а нужно 1 400 000
Заранее спасибо всем откликнувшимся
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 2
28-04-2013 08:08
Нашел тему с похожей проблемой, но решения там нет
http://prestadev.ru/forum/tema-6649.html
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 3
28-04-2013 08:55
Есть идеи?
ors
Профессионал
Сообщений: 1885
Регистрация: 09-11-2009
# 4
28-04-2013 13:33
В классе Tools есть функция ps_round
Модули для PrestaShop
,
Синхронизация с 1С
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 5
28-04-2013 19:44
Цитата:( ors @ 28-04-2013 14:33
Смотреть сообщение
)
В классе Tools есть функция ps_round
Как с ее помощью изменить число цифр ПЕРЕД запятой?
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 6
28-04-2013 19:58
$blank = ($c_blank ? ' ' : '');
$ret = 0;
if (($is_negative = ($price < 0)))
$price *= -1;
$price = Tools::ps_round($price, $c_decimals);
switch ($c_format)
{
/* X 0,000.00 */
case 1:
$ret = $c_char.$blank.number_format($price, $c_decimals, '.', ',');
break;
/* 0 000,00 X*/
case 2:
$ret = number_format($price, $c_decimals, ',', ' ').$blank.$c_char;
break;
/* X 0.000,00 */
case 3:
$ret = $c_char.$blank.number_format($price, $c_decimals, ',', '.');
break;
/* 0,000.00 X */
case 4:
$ret = number_format($price, $c_decimals, '.', ',').$blank.$c_char;
break;
/* 0 000.00 X Added for the switzerland currency */
case 5:
$ret = number_format($price, $c_decimals, '.', ' ').$blank.$c_char;
break;
}
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 7
28-04-2013 19:58
как?
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 8
28-04-2013 20:05
или тут?
public static function ceilf($value, $precision = 0)
{
$precision_factor = $precision == 0 ? 1 : pow(10, $precision);
$tmp = $value * $precision_factor;
$tmp2 = (string)$tmp;
// If the current value has already the desired precision
if (strpos($tmp2, '.') === false)
return ($value);
if ($tmp2[strlen($tmp2) - 1] == 0)
return $value;
return ceil($tmp) / $precision_factor;
}
sour
Новичок
Сообщений: 8
Регистрация: 28-04-2013
# 9
28-04-2013 20:15
подскажите, ребят, пожалуйста
tympi
Cпециалист
Сообщений: 265
Регистрация: 27-12-2011
# 10
03-05-2013 05:47
Вот хорошая статья
http://stateika.com/php/round-ceil-floor.html
Просто немного модифицировать фун-ию вывода цены
На Главную форума
Найти
FaQ
Панель управления
Кто он-лайн
Общие форумы (prestashop v1.7.x)
-- Общий форум
-- Установка, Настройка, Обновление
-- Модули, плагины
-- Дизайн, шаблоны
-- Песочница
Общие форумы (prestashop v1.6.x)
-- Общий форум
-- Установка, Настройка, Обновление
-- Модули, плагины
-- Дизайн, шаблоны
-- Песочница
Общие форумы (prestashop v1.5.x)
-- Общий форум
Общие форумы (prestashop v1.4.x)
-- Новости и объявления
-- Общий форум
-- Установка, Настройка, Обновление
-- Дизайн, шаблоны
-- Модули, плагины
-- Песочница
-- Прочее
Общие форумы (prestashop v1.3.x)
-- Общий форум
-- Установка, Настройка, Обновление
-- Дизайн, шаблоны
-- Модули, плагины
---- Платные модули и хаки
-- Песочница
Другое
-- Корзина
---- Хостинг
---- Каталог магазинов
---- Общий форум
---- Прием багов