Вместо "." делаем ","

Статус
В этой теме нельзя размещать новые ответы.

Otto

Постоялец
Регистрация
12 Май 2008
Сообщения
485
Реакции
161
Не знаю даже по какому запросу искать, искал, но ничего не нашел.
Значит так:
Есть у меня инет магазин, вот и с базы выводятся цены токов виде напр. "150.500", а мне надо что бы у меня выводилось бы так "150,500". т.е. что бы целая и сотая часть делились бы не точкой ".", а запятой ","
Вроде, через какую нибудь функцию можно сделать это. :ah:
спс.
 
с базы выводятся цены токов виде напр. "150.500", а мне надо что бы у меня выводилось бы так "150,500".

В каком формате хранятся данные в базе? Какой тип поля в таблице и какая локаль установлена на сервере?
 
Код:
$цена = str_replace(".",",",$цена);
Можно еще в базе заменить sql запросом
Код:
UPDATE ИМЯ_ТАБЛИЦЫ SET ИМЯ_ПОЛЯ = REPLACE(ИМЯ_ПОЛЯ, ‘строка для замены’, ‘чем заменяем’);
 
>А кокую роль играет у меня локал или сервер?
-Денверь, но сатй конечно будет на сервер

>И кокую роль играет тип?
-Тип поля "`order_total` decimal(15,5) NOT NULL default '0.00000',"

Перебрал некотрый функции наверное чтото не так сделал, елси есть время дай сразу готовое решение пожалуйсто, иначе некоторые подсказывают кокую функцию надо мучать, но что то не получается :tcl:
 
В вашем случае проще всего будет использовать следующий код:
PHP:
//$q - вещественное число, полученное из базы
str_replace(".", ",", strval($q).'<br>');
 
Что то не работает код токой у меня: :tcl:
PHP:
<?php
//$q - вещественное число, полученное из базы 
str_replace(".", ",", strval($product_item_price).'<br>');
str_replace(".", ",", strval($product_final_price).'<br>');
$pay_orders = mysql_query("SELECT * FROM jos_vm_order_item WHERE order_id='$order_id'"); //Connect Table
	while($pay_orders_value = mysql_fetch_array($pay_orders)){
				$product_item_price = $pay_orders_value["product_item_price"]; //Переменная Стоимость товара
				$product_final_price = $pay_orders_value["product_final_price"]; //Переменная Общая стоимость				
echo "$product_item_price <br/>$product_final_price<br/>";
}
?>
 
[]T[]
:ai: я же привел вам рабочий код!

Код:
$product_item_price = str_replace(".",",",$product_item_price);
 
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.

Добавлено через 58 секунд
[]T[]
:ai: я же привел вам рабочий код!

Код:
$product_item_price = str_replace(".",",",$product_item_price);

Зачем применять строковую функцию к числу, если для него есть специальная функция number_format?
 
saen спс. коенчно, но я вот сделал так
Код:
$product_item_price = str_replace(".",",",$product_item_price);
Вроде всё работает, и чем он не лучще твоего варианта, и чем твой лучще, немного не понял твой пост, о обяснении, для меня главное что бы работало, а оно и рабоатет, или у меня могут быть проблеммы из-зи чего нибудь в будушем ?
 
saen спс. коенчно, но я вот сделал так
Код:
$product_item_price = str_replace(".",",",$product_item_price);
Вроде всё работает, и чем он не лучще твоего варианта, и чем твой лучще, немного не понял твой пост, о обяснении, для меня главное что бы работало, а оно и рабоатет, или у меня могут быть проблеммы из-зи чего нибудь в будушем ?
Если значение берется из БД, оно конечно будет представлено в виде строки и твоя функция будет работать, но это как ни крути напильник.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху