具有两个整数的除法以错误的逗号返回值

时间:2015-10-05 19:29:25

标签: php

我在其中一个客户网站遇到了一个奇怪的问题:

$val1/$val2 = 0,123

请注意,中的0,123以逗号为单位.

这是我不知道的服务器设置吗?

$val绝对是整数,但为了以防万一 - 这也不起作用:

intval($val1)/intval($val2) = 0,123

5.4.43-1~dotdeb+7.1

上的PHP版本为Apache/2.2.22 (Debian)

1 个答案:

答案 0 :(得分:2)

您的语言环境显然设置为小数由逗号表示的内容。

显示当前区域设置:

var_dump(setlocale(LC_ALL, 0));

显示当前的数字格式信息:

var_dump(localeconv());

为了避免意外更改代码的其他本地化位,我建议只将LC_NUMERIC更改为您想要的区域。例如:

setlocale(LC_NUMERIC, 'en_US');

文档:http://php.net/manual/en/function.setlocale.php