十进制逗号而不是小数点

时间:2014-03-06 12:27:30

标签: php

如何通过在Windows上运行的本地服务器上的php.ini 中设置代码来将小数点更改为十进制逗号?

3.14 >> 3,14

我试图设置

intl.default_locale = cs_CZ 

没有任何结果。

编辑:我之所以要问的是,如果我在托管上执行代码,我会得到带有十进制逗号的数字,但是当我将相同的代码传输到本地服务器时,会有一个小数点。渔获物在哪里?

例如 - Linux托管:

echo 100 / 3; // 33,333333333333

Windows上的本地服务器:

echo 100 / 3; // 33.333333333333

是什么原因?

编辑2 :如果我使用

setlocale(LC_NUMERIC, 'cs_CZ');
echo 100 / 3;

我将得到相同的结果 33.333333333333 ,因此捕获必须位于配置文件或Windows本身。

3 个答案:

答案 0 :(得分:4)

intl.default_locale仅设置intl个功能的区域设置,请参阅this comment

如果您的代码没有使用intl函数进行数字格式化,则无法更改代码。它应该像将货币/数字格式设置为捷克语一样简单。

为了钱:

setlocale(LC_MONETARY, 'cs_CZ');

对于数字:

setlocale(LC_NUMERIC, 'cs_CZ');

答案 1 :(得分:0)

所以我发现只有这样才能在 Windows 上执行此操作:

setlocale(LC_ALL, 'czech');

感谢http://msdn.microsoft.com/en-us/library/39cwe7zf%28v=vs.90%29.aspx

答案 2 :(得分:0)

对于Linux:

这是一个本地配置问题,可能是在最近安装了php-intl之后导致的,无意中为您更改了此内容。

编辑/ etc / default / locale文件并将LC_NUMERIC行更改为

LC_NUMERIC =“ en_GB.UTF-8”

您可能要在那里更改任何其他设置,然后重新启动。