【发布时间】:2011-02-26 11:36:19
【问题描述】:
我正在查看 php 中的 money_format 函数,并且对如何让它以我想要的方式格式化感到困惑。我不想在字符串前面使用 USD,我希望每 3 位数字和 2 个小数点一个逗号,因此 12345.67 将被格式化为 $12,345.67
谢谢。
【问题讨论】:
我正在查看 php 中的 money_format 函数,并且对如何让它以我想要的方式格式化感到困惑。我不想在字符串前面使用 USD,我希望每 3 位数字和 2 个小数点一个逗号,因此 12345.67 将被格式化为 $12,345.67
谢谢。
【问题讨论】:
你看过number_format吗?我认为这更容易一些。
例如print number_format( 1234567, 2, ",", "." );。
【讨论】:
money_format(),这就像一门外语。
strfmon 函数的包装器。对于习惯于其他语言(及其默认功能)的开发人员来说,这只是为 PHP 提供了一个简单的学习曲线的小东西之一。它实际上对于在您想要对齐的纯文本情况下格式化货币非常有用(就像 str_pad 可以做的那样)
, 和 . 参数的位置以使其成为美国而不是欧洲风格。
要使用money_format 回答原始问题,很简单
money_format('%.2n', 12345.67);
money_format 总是以% 开头。 .2 表示您希望始终使用 2 位小数。如果您传递一个整数,它将在末尾添加 .00。 n 表示您要使用区域设置的国家货币格式。
请务必注意,您必须正确设置区域设置,因为 money_format 是基于您为 LC_MONETARY 设置的区域设置。要设置区域设置,请使用setlocale。在这种情况下,您似乎想要en_US。
setlocale(LC_MONETARY, 'en_US.UTF-8');
【讨论】: