【问题标题】:format money in PHP so it is "$xxx.xx USD"用 PHP 格式化钱,所以它是“$xxx.xx USD”
【发布时间】:2014-02-13 03:47:51
【问题描述】:

我正在尝试在 PHP 中使用 money_format 来获得此结果:$100,000.00 USD 如果可能的话。

这是我所拥有的:

$cost = 100000;
$usd = money_format('%i', $cost);

这是我得到的:

USD 100,000.00

我想要的是:

$100,000.00 USD

我以后可能会添加其他货币,所以如果解决方案破坏了money_format 的通用实用程序和 l10n,那么我不会使用它,只会使用默认值。

【问题讨论】:

  • 使用美元符号($)和USD是多余的,只需其中一个就足以表示货币。
  • 如果你想偏离 PHP 使用的标准货币格式,那么你可以使用money_format('%n USD', $cost),如果你想让它适用于多种货币,你可能需要检查语言环境设置。如果您偏离 PHP 对美国货币的标准输出,您可能最终也会偏离其他货币。
  • $US 对我来说总是最有意义的,我总是希望它在前面
  • @Gustek 实际上并非总是如此。 ($) 符号并非美元独有。它用于多种不同的货币:en.wikipedia.org/wiki/Dollar

标签: php currency


【解决方案1】:

我更喜欢 number_format()

$usd =  '$'.number_format($number, 2, '.', ',').' USD';

【讨论】:

  • php 开发人员喜欢函数,有很多人都在做同样的事情——但说真的,money_format() 有它的位置,因为它使用了语言环境。挖掘硬代码
  • 如果您编写了一份待售的付款凭证,您就不想为每个可能购买它的国家/地区硬编码格式。 money_format 解决了这个问题
  • 您可以一次为整个 webapp 设置本地。然后money_format 会相应改变。否则,对于任何硬编码的东西,您都需要自己跟踪并设置它......但是是的,他们喜欢函数 :-)
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2010-11-03
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多