我正在使用en_US语言环境的计算机上运行这段PHP代码
setlocale(LC_ALL,'de_DE.utf8');
var_dump((string)1.234);
返回
string(5) "1.234"
而在我同事的机器上(该机器的区域设置为德语),它返回
string(5) "1,234"
为什么PHP在将float类型转换为字符串时要使用locale呢?我怎么才能禁用它呢?我想让这个函数在所有机器上返回string(5)“1.234”,而不管任何locale设置。
其次,也是次要的:为什么PHP会忽略我机器上的setlocale?
1条答案
按热度按时间tzcvj98z1#
为什么PHP在将float类型转换为字符串时要使用locale?
这就是它的行为
如何禁用它?
(据我所知)你不能。
如果安装了locale,则可以将locale设置为
en_US
。我想让这个函数在所有机器上返回string(5)“1.234”,而不考虑任何区域设置。
您有几个选项:
其次,也是次要的:为什么PHP会忽略我机器上的setlocale?
如DevZer0所述,您可能没有安装语言环境。