php如何获取给定语言环境的当前十进制/千位分隔符

时间:2011-02-09 11:28:41

标签: php localization locale

我使用setlocale()函数设置了语言环境,让我们说“en_US”。

现在我正在尝试使用这样的千位分隔符格式化货币:

  

$ currency = number_format($ value,2,   '。','');

有效,但有时我有其他货币,我希望number_format根据使用区域设置使用正确的小数分隔符。

有没有办法根据已设置的区域设置以某种方式获取当前的小数分隔符?

3 个答案:

答案 0 :(得分:12)

localeconv()应该这样做。从手册:

  

返回一个关联数组   包含本地化的数字和   货币格式信息。

Windows上setlocale()识别的

Here is a list种语言字符串。

答案 1 :(得分:1)

这不是最好的,但它有效:

$locale_info = localeconv();
echo 'decimal_point=', $locale_info['decimal_point'], '<br/>/n';

localeconv()返回一个关联数组,其中包含小数点字符以外的其他字段。

答案 2 :(得分:0)

Sean Bright是对的,使用localeconv()功能。您确定为操作系统设置了正确的区域设置,因为基于Unix的操作系统使用“en_US.UTF-8”表示法,而Windows使用“en-US”。