Ben Postgres bir çift hassasiyetli sütuna PHP kayan nokta değeri 63,59072952118762 saklamak için deneyin. Postgres 63,59073 olarak değerini saklar. Herkes neden biliyor mu? 8 bayt bu değer için fazlasıyla yeterli olmalıdır. Ben hassasiyetini belirtirken çalıştığı, veri türü sayısal ile denedim, ama bu gerçekten gerekli olmamalıdır.
Update: 63,5907295 saklamak için çalışırken aynı sorun mevcut, bu yüzden saklı vurmayacak önce bir şey çift ile olur öneri gerçekçi görünüyor.
Update II (partly solved): Ben çift parametre bu gibi görünüyor atamak satır:
$stmt->bindParam(4, $this->latitude);
Ben bilmiyordum şey PDO varsayılan kendi param türü dize o. Ben :: PARAM INT daha iyi bir alternatif eksikliği PDO için değişti (PARAM DOUBLE bir seçenek değildi), ve (en azından, bazı ilerlemeler) postgres'in saklanan double 10 basamak hassasiyet var. Ben sayısal tip iyi çalıştığını kontrol ettik, bu yüzden sayısal 10'dan fazla ondalık bir hassasiyete sahip olması PDO ve çiftler kullanırken gitmek için yol olduğunu görünüyor.
Her neyse, bana bu tür bir kesinlik olması için bir zorunluluktur eğer birisi de belirtildiği gibi, ben bilmiyorum, ama ben kendi içinde sorun araştırılmalıdır hak düşünüyorum.