代码之家  ›  专栏  ›  技术社区  ›  ChrisR

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

  •  2
  • ChrisR  · 技术社区  · 14 年前

    显然,PDO使用php LC_NUMERIC类别根据结果集中的当前区域设置格式化float的输出。

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

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

    另一个选择是大量的现场杂耍,我不想这样做,除非这是一个绝对的最后一个措施。

    2 回复  |  直到 13 年前
        1
  •  2
  •   ajreal    14 年前

    尝试 PDO::setAttribute

    PDO::ATTR_STRINGIFY_FETCHES:获取时将数值转换为字符串。需要布尔。

    在这种情况下是错误的

        2
  •  0
  •   ChrisR    14 年前

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

    目前还没有得到证实,但这似乎是一个与我们使用的特定php版本或mysqllib相关的bug。

    推荐文章