money_format()选项

JD *_*cks 10 php currency

我正在查看php中的money_format函数,并对如何使其格式化我想要的方式感到困惑.我不希望美元在我的字符串前面,我想要一个逗号每3位数和2位小数,所以12345.67将形成12,345.67美元

谢谢.

Cha*_*eaf 24

你看过了number_format吗?我认为这更容易一些.

print number_format( 1234567, 2, ",", "." ); 例如.

  • 同意,老实说,我不知道为什么他们甚至创造了`money_format()`,它就像一门外语. (2认同)
  • 谢谢,我不得不切换`,`和`.`参数的位置,以使其成为美国而不是欧元风格。 (2认同)

Dri*_*Dan 18

要回答使用的原始问题money_format,这很简单

money_format('%.2n', 12345.67);
Run Code Online (Sandbox Code Playgroud)

money_format总是从一开始%.该.2指示要始终使用2位小数.如果你传递一个整数,它会在末尾添加.00.在n表明您希望使用的语言环境的国家货币格式.

请务必注意,必须正确设置区域设置,因为money_format基于您为其设置的区域设置LC_MONETARY.设置区域设置使用setlocale.在这种情况下,它似乎你想要en_US.

setlocale(LC_MONETARY, 'en_US.UTF-8');
Run Code Online (Sandbox Code Playgroud)

  • 对于美国来说,它实际上是en_US.UTF-8 (3认同)