php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #77192 Rounding of double precision column
Submitted: 2018-11-23 13:54 UTC Modified: 2020-12-23 12:22 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: celiorod21 at gmail dot com Assigned: cmb (profile)
Status: Not a bug Package: PDO Firebird
PHP Version: 7.2.12 OS: Irrelevant
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: celiorod21 at gmail dot com
New email:
PHP Version: OS:

 

 [2018-11-23 13:54 UTC] celiorod21 at gmail dot com
Description:
------------
I'm working with geolocation and storing latitude and longitude data in a DOUBLE PRECISION field on firebird.

When searching for these records, the PDO is rounding the values, as well as returning them as a string.

The insertion of the data is not done from PDO but by an external system and is correct.

Test script:
---------------
<?php
  $conn = new PDO("firebird:dbname={$database}", "SYSDBA", "masterkey");

  $query = $conn->query('SELECT CAST(25.3639309364232 AS DOUBLE PRECISION) FROM RDB$DATABASE');

  echo $query->fetchColumn();

Expected result:
----------------
25.3639309364232

Actual result:
--------------
25.363931

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-12-23 12:22 UTC] cmb@php.net
This is to be expected, because DOUBLE PRECISION stores floating
point numbers and these are not precise by definition.  USE
DECIMAL(15, 13) or something like that to get exact values.
 [2020-12-23 12:22 UTC] cmb@php.net
-Status: Open +Status: Not a bug -Assigned To: +Assigned To: cmb
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Dec 09 11:01:28 2024 UTC