Php PDO返回以逗号作为小数分隔符的浮点

Php PDO返回以逗号作为小数分隔符的浮点,php,pdo,Php,Pdo,显然,PDO使用PHPLC_数字类别根据结果集中的当前区域设置格式化浮点输出 这是一个巨大的p.I.T.a.因为我实际上需要LC_数字来格式化我的数字,但是来自数据库的结果应该始终使用点作为十进制分隔符,否则我的计算将被关闭 任何人都知道是否可以配置PDO,这样它就不会使用php语言环境来格式化查询结果中的浮点 另一个选择是大量的区域设置杂耍,我宁愿不这样做,除非这是一个绝对的最后措施。试试看 PDO::ATTR_STRINGIFY_FETCHES:在抓取时将数值转换为字符串。需要bool 在本

显然,PDO使用PHPLC_数字类别根据结果集中的当前区域设置格式化浮点输出

这是一个巨大的p.I.T.a.因为我实际上需要LC_数字来格式化我的数字,但是来自数据库的结果应该始终使用点作为十进制分隔符,否则我的计算将被关闭

任何人都知道是否可以配置PDO,这样它就不会使用php语言环境来格式化查询结果中的浮点

另一个选择是大量的区域设置杂耍,我宁愿不这样做,除非这是一个绝对的最后措施。

试试看

PDO::ATTR_STRINGIFY_FETCHES:在抓取时将数值转换为字符串。需要bool


在本例中为假

这似乎是PHP5.1.4中的一个错误,我们与托管提供商的技术人员一起检查了PHP.net上的发行说明和错误日志,没有找到与此行为相关的任何内容,然后我们使用PHP5.2.1升级到vps,问题消失了


这还没有得到确认,但似乎是与我们使用的特定php版本或mysqllib相关的错误。

我不这么认为。您确定它使用的是系统区域设置,而不是某些DB或连接特定的参数吗?有可能是Oracle吗?嗨,Alvaro,是的,我绝对肯定,当手动将LC_数值区域设置为nl_nl浮点时,结果是100,00,当离开它(C区域设置)或将其更改为en_US浮点时,结果是100.00,这是我所需要的。