以特定格式格式化资金


Formatting money in specific format

我已经与php money_format()函数斗争了一段时间,它不能完全按照我想要的方式工作。

我希望数字的格式如下:€1.234,56,负数- €1.234,56

我已经尝试了以下所有可能的组合:

地区

  • nl_NL
  • en_US
  • it_IT
  • de_DE

格式

  • € +!-#3.2n
  • € %-!4#8.2n
  • %-4#8.2n

它们都没有产生完全正确的结果。目前最有希望的选择是 it_IT € %-!4#8.2n ,它会产生所有必需的格式,除了-标志的位置,它位于后面而不是前面。

为此,我需要使用哪种格式/区域设置组合?

谢谢!

我建议您更好地使用intl扩展中的格式选项。尤其是这个 http://php.net/manual/en/numberformatter.formatcurrency.php

在那里,您可以在每次调用中设置应使用的区域设置,以及他们使用库来获取所用区域设置的正确格式字符串