Closed martinoshub closed 1 month ago
If you want to store floats as stings then change the column type.
If you want to store floats as stings then change the column type.
I don't want to store floats. I don't want to use floats. I want to work with precise numeric types. That is Numeric() in Postgres. The closest thing in PHP (assuming data is preserved, which is a must when you're managing financial entries) is a string.
Hi @martinoshub!
Thank you for pointing out this issue. This was a discrepancy between the ext-pq
implementation, which returns a string) and the ext-pgsql
implementation, which was wrongly returning a float. I've updated the ext-pgsql
implementation to also return a string.
The fix has been tagged under v2.1.0
.
Hi guys. Please tell me that there's a way without altering your code to make sure that when fetching a row from the database, a Numeric type gets converted to string instead of float? Choosing to make float the default type means there's potential data loss and no way to recover. Whereas with a string type I could always convert it to float if I wanted to.
Internal/PgSqlResultIterator.php
It would be great to have a way to change this behavior while setting up the class so that numerics are returned as a string. Thanks so much. And thank you for this wonderful library by the way, I really love Amphp with fibers and it's great that there's a Postgres lib for it.