2013-04-09 6 views
1

У меня есть Postgre DB, и одно из этих значений - деньги (тип, ofc). Когда я ВЫБРАТЬ с помощью PHP, выход этого запроса в таком формате:Изменение формата денег Postgresql

Пример: € 1,00

Я ищу что-то изменить этот формат, это другое:

Пример: 1,00 €.

Что я могу изменить в своем запросе, чтобы получить последний результат?

Спасибо!

+0

Вы могли бы изменить, как вы задаете вопрос о переполнении стека, просмотрев раздел часто задаваемых вопросов! – ITroubs

ответ

1

быстрый способ в PHP является использование str_replace :)

$cash = '€1,00'; 
$cash = str_replace('€','',$cash) . '€'; 
echo $cash; 

Но лучший вариант, чтобы изменить тип поля БД для некоторого числового типа и просто добавить «€» знак, где вы хотите. .

  • Вы можете сделать это заменить в выписке DB SELECT, но я думаю, что лучше, чтобы сделать это внутри PHP ..
+0

Спасибо, это работает! – Angel

1

Если его хранится в базе данных так же, как число без валюты вы могли бы просто использовать функцию number_format($x,y,'.','')

где $ х ваш номер у это количество чисел за десятичного разделителя «» - означает десятичный разделитель. '' означает, что между тысячами нет разделителей

так что вы просто форматируете свой номер так, как хотите, и добавляете знак «евро».

, если его цена есть функция называется денежный формат:

и должен использовать его с локалями страны валюты и хочет Fe. :

setlocale(LC_MONETARY, 'de_DE'); echo money_format('%.2n', $your_variable);

это означает, что и использовать валюту германии. «% .2n» означает, что ваш выход равен $ yourvariable и имеет 2 десятичных числа

И к знаку «евро» после или перед номером. Это зависит от локалей. Я думаю, что словацкий или испанский имеет знак евро после номера.

Попробуйте.

0

Это должно обеспечить у ou, что вам нужно, и быть гибким во всех валютах:

$value = '$4265'; 

if (!is_numeric($value[0])) { 
    $value = substr($value, 1) . $value[0];  
} 
Смежные вопросы