2015-10-05 29 views
0

我遇到一个奇怪的问题,在我的客户的网站之一:司与两个整数与错误的逗号返回值

$val1/$val2 = 0,123 

注意在0,123为逗号,它应该是一个圆点.,

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

$val肯定是整数,但为了以防万一 - 这不也是工作:

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

PHP版本5.4.43-1~dotdeb+7.1Apache/2.2.22 (Debian)

+2

也许你有一些奇怪的区域设置。 –

+0

是的,这么想。我该怎么办?对发生该问题的唯一客户执行'str_replace'或强制他们“修复”该问题。我应该告诉他们什么? – Xaver

+1

所以嗯更改区域设置 – 2015-10-05 19:33:08

回答

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

+0

帮助,非常感谢! – Xaver