1

我有一个 Postgre DB,其中一个值是钱(类型,ofc)。当我使用 PHP 进行选择时,该查询的输出采用以下格式:

示例:1.00 欧元

我正在寻找将这种格式更改为另一种格式的方法:

示例:1,00 欧元。

我可以在查询中更改什么以获得最后一个结果?

谢谢!

4

3 回答 3

1

如果它像没有货币的数字一样存储在数据库中,您可以使用函数number_format($x,y,'.','')

其中 $x 是您的数字 y 是小数分隔符 '.' 后面的数字数量。- 表示小数点分隔符是 . '' - 表示千位之间没有分隔符

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

如果它的价格有一个叫做货币格式的函数:

你必须将它与你想要的货币国家的语言环境一起使用。:

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

这意味着你使用德国货币。'%.2n' 表示您的输出来自 $yourvariable 并且有 2 个小数

以及数字之后或之前的“欧元”符号。这取决于语言环境。我认为斯洛伐克语或西班牙语在数字后有欧元符号。

尝试一下。

于 2013-04-09T08:49:02.820 回答
1

PHP 中最快的方法是使用 str_replace :)

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

但更好的选择是将您的数据库字段类型更改为某种数字类型,然后在您想要的位置添加“€”符号。

  • 您可以在您的 DB SELECT 语句中执行此替换,但我认为最好在您的 PHP 中执行此操作。
于 2013-04-09T08:51:27.120 回答
0

这应该为您提供所需的东西,并且可以灵活地使用所有货币:

$value = '$4265';

if (!is_numeric($value[0])) {
    $value = substr($value, 1) . $value[0];    
}
于 2013-04-09T08:52:54.800 回答