PHP setlocale(LC_MONETARY, 'en_US') 没有按预期工作

标签 php formatting

我执行以下代码:

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/

相关文章:

php - 为什么我的 CSS/PHP 样式表没有应用到我的站点?

javascript - 如何通过jquery正式段落文本?

java - Intellij 代码格式化,Java 新行注解

CSS:如何将 div 2 x 2 定位

html - 如何将我的文字放在导航栏下方?

php - 注意 : Undefined index: Page

javascript - Jquery数组通过ajax发送到php

php - 我需要从 MySQL 数据库中选择最新行,但验证我是否还返回具有给定 ID 的行

php - $_FILES 不将名称发送到 MYSQL

css - 如何通过 CSS 在父表中居中对齐 HTML 子表