2013-04-09 113 views
1

我有一个Postgre DB,其中一个值是money(type,ofc)。 当我选择使用PHP,该查询的输出格式为:更改货币格式Postgresql

例子:€1,00

我在找什么来改变这种格式这个其他:

例如:100欧元。

我可以在查询中更改哪些内容以获得最后一个结果?

谢谢!

+0

你可以通过查看常见问题部分来改变你对堆栈溢出的问题。 – ITroubs 2013-04-09 08:45:28

回答

1

最快的方法是使用str_replace函数:)

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

但是一个更好的选择是你的数据库字段类型更改为数字型,只是添加你想要它的“€”的标志。 。

  • 你可以做到这一点取代你的数据库的SELECT语句里面,但我认为它能够更好地做你的PHP里面..
+0

谢谢,它的工作原理! – Angel 2013-04-10 06:23:25

1

如果其存储在数据库就像一个数字,没有货币,你可以只使用功能number_format($x,y,'.','')

其中 $ x是你的号码 y是后面小数点分隔 数数“” - 表示小数点分隔符。 '' - 表示数千之间没有分隔符

所以,您只需以您想要的方式格式化您的号码并添加“欧元”符号即可。

如果它的价格有一个函数调用资金格式:

ü必须ü希望菲货币国家的语言环境中使用它。 :

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

这意味着u使用德国的货币。 '%.2n'表示您的输出是$ yourvariable并且有两个十进制数字

并且在数字之后或之前用'欧元'符号表示。这取决于语言环境。我认为斯洛伐克或西班牙在数字后有欧元符号。

试试吧。在PHP

0

这应该同时提供Y ou你需要什么,并且在所有的货币中都是灵活的:

$value = '$4265'; 

if (!is_numeric($value[0])) { 
    $value = substr($value, 1) . $value[0];  
}