如何让php的localeconv返回正确的千位分隔符

问题描述 投票:0回答:1

我设置了我的本地 -

setlocale(LC_MONETARY, 'en_US');

然后尝试格式化一个大数字

$conf = localeconv();
echo number_format(1613998, 0, $conf['decimal_point'], $conf['thousands_sep']);

但这个号码永远不会有千位分隔符。我想要1,613,9981.613.998,但我只得到1613998$conf['thousands_sep']总是一个空字符串。

我试过了

setlocale(LC_MONETARY, 'fr_FR');
setlocale(LC_MONETARY, 'fr_FR.UTF-8');
setlocale(LC_MONETARY, 'en_US.UTF-8');
setlocale(LC_NUMERIC, 'en_US');

我们在Ubuntu 16.04上运行php-7

php localization php-7
1个回答
1
投票

我猜你的语言环境没有安装在服务器上。运行locale -a列出所有可用的语言环境。然后运行:

sudo locale-gen en_US
sudo locale-gen en_US.UTF-8

并更新您的区域设置

sudo update-locale 
© www.soinside.com 2019 - 2024. All rights reserved.