我执行以下代码:
setlocale(LC_MONETARY, 'en_US')
echo money_format('%(!n', 1000)
我希望得到 1,000.00
,但我得到了 1000.00
。
没有逗号我做错了什么?
最佳答案
请在您的终端中尝试 locale -a
。
在我的例子中,我发现我安装了 en_US.utf8
而不是 en_US
。
setlocale(LC_MONETARY, 'en_US.utf8');
使用 DOTENV 之类的东西在运行代码的任何机器上加载正确的语言环境设置可能是个好主意:
setlocale(LC_MONETARY, env('LOCALE', 'en_US.utf8'));
使用包含 LOCALE
条目的 .env
文件:
LOCALE=en_US
关于PHP setlocale(LC_MONETARY, 'en_US') 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39851795/