Рекомендуем использовать функцию
number_format() языка программирования PHP.
number_format -- Форматирует число с разделением групп
Описаниеstring
number_format ( float number [, int decimals] )
string
number_format ( float number, int decimals, string dec_point, string thousands_sep )
number_format() возвращает отформатированное число number. Функция принимает один, два или четыре аргумента (не три):
Если передан только один аргумент, number будет отформатирован без дробной части, но с запятой (",") между группами цифр по 3.
Если переданы два аргумента, number будет отформатирован с decimals знаками после точки (".") и с запятой (",") между группами цифр по 3.
Если переданы все четыре аргумента, number будет отформатирован с decimals знаками после точки и с разделитилем между группами цифр по 3, при этом в качестве десятичной точки будет использован dec_point, а в качестве разделителя групп - thousands_sep.
Используется только первый символ строки thousands_sep. Например, при передаче foo в качестве thousands_sep для форматирования числа 1000, number_format() возвращает 1f000.
Пример 1. Пример использования number_format()Во Франции обычно используются 2 знака после запятой (','), и пробел (' ') в качестве разделителя групп. Такое форматирование получается при использовании следующего кода :
Код: Выделить всё
<?php
$number = 1234.56;
// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,234
// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>
Как реализовать округление цены товара в модуле импорта данных для скрипта интернет-магазина ShopScript 1.2Открыть файл "etrade_ie_csv_shopscript_v1.php", перейти к строке №249, там имеется такой код:
Код: Выделить всё
db_query("UPDATE ".PRODUCTS_TABLE." SET product_code='".$parameter3."', Price=".$parameter5.", enabled=1, date_added=now(), name='".$parameter4."', categoryID=".$parameter2.", in_stock=".$parameter13." WHERE productID='".$parameter1."' limit 1");
необходимо заменить его на:
Код: Выделить всё
db_query("UPDATE ".PRODUCTS_TABLE." SET product_code='".$parameter3."', Price=".number_format($parameter5,2).", enabled=1, date_added=now(), name='".$parameter4."', categoryID=".$parameter2.", in_stock=".$parameter13." WHERE productID='".$parameter1."' limit 1");
Вид исправленного варианта:
- ShopScript_module1.png (12.7 КБ) 8564 просмотра
это для обовления цены у существующих товаров в интернет-магазине.
Для новых товаров необходимо скорректировать строку №259:
Код: Выделить всё
db_query("insert into ".PRODUCTS_TABLE." (productID, product_code, name, Price, enabled, date_added, categoryID, in_stock) VALUES(".$parameter1.",'".$parameter3."','".$parameter4."',".$parameter5.",1,now(),".$parameter2.",1)");
заменить на:
Код: Выделить всё
db_query("insert into ".PRODUCTS_TABLE." (productID, product_code, name, Price, enabled, date_added, categoryID, in_stock) VALUES(".$parameter1.",'".$parameter3."','".$parameter4."',".number_format($parameter5,2).",1,now(),".$parameter2.",1)");
Вид исправленного варианта:
- ShopScript_module2.png (11.56 КБ) 8564 просмотра