我坐在一台具有 en_US 语言环境和这段 PHP 代码的机器上
setlocale(LC_ALL,'de_DE.utf8');
var_dump((string)1.234);
返回
string(5) "1.234"
而在我同事的具有德语语言环境的机器上,它返回
string(5) "1,234"
为什么 PHP 在将浮点数转换为字符串时使用语言环境?我怎样才能禁用它?我想让这个函数在所有机器上返回 string(5) "1.234",不管任何语言环境设置。
其次,不太重要:为什么 PHP 会忽略我机器上的 setlocale?