PHP:区域设置感知数字格式?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (39)

我想为我的网站访客格式化数字3253454。

如果我使用内置的number_format函数,我得到:3,253,454这对英国和美国很好,但是其他大多数国家使用3.253.454

我有很多国际游客。

在PHP中怎么做?

提问于
用户回答回答于
string number_format (float $number, int $decimals, string $dec_point, string $thousands_sep)
用户回答回答于

在初始化代码中添加如下代码片段:

$locale = ( isset($_COOKIE['locale']) ) ? 
            $_COOKIE['locale'] : 
            $_SERVER['HTTP_ACCEPT_LANGUAGE'];
setlocale(LC_ALL, $locale);

然后我们修改上面的函数number_format_locale(),看起来像这样:

function number_format_locale($number,$decimals=2) {
    $locale = localeconv();
    return number_format($number,$decimals,
               $locale['decimal_point'],
               $locale['thousands_sep']);
 }

扫码关注云+社区

领取腾讯云代金券