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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让php的localeconv返回正确的千位分隔符相关的知识,希望对你有一定的参考价值。

我设置了我的本地 -

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

答案

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

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

并更新您的区域设置

sudo update-locale 

以上是关于如何让php的localeconv返回正确的千位分隔符的主要内容,如果未能解决你的问题,请参考以下文章

Python中的千位分隔符[重复]

如何设置带两位小数的千位分隔符?

将 K 格式的千位转换为常规的千位格式

windows中比特率的千位分隔符

C++中的千位分隔符

整个项目中所有数字的千位角分隔符