On Wed, Dec 28, 2016 at 12:19 PM, Steve Crawford <scrawford@xxxxxxxxxxxxxxxxxxxx> wrote: > > > On Wed, Dec 28, 2016 at 9:41 AM, Marc Fromm <Marc.Fromm@xxxxxxx> wrote: >> >> I’m using postgresql9.2. When I export some data using phppgadmin some >> decimal values are exported as 9.4700003 instead of 9.47 (they show as 9.47 >> in phppgadmin and when displayed on the web. Others export as 9.5299997 >> instead of 9.53 (again they show as 9.53 in phppgadmin and when displayed on >> the web). >> >> >> >> The data type for the field is set as type “real.” Is this data type >> causing the problem and I should change it to decimal? >> >> >> >> What could be creating this plus or minus 0.0000003 to the recorded value? >> > > > https://www.postgresql.org/docs/9.6/static/datatype-numeric.html > > "The data types real and double precision are inexact, variable-precision > numeric types. In practice, these types are usually implementations of IEEE > Standard 754 for Binary Floating-Point Arithmetic (single and double > precision, respectively), to the extent that the underlying processor, > operating system, and compiler support it. > > Inexact means that some values cannot be converted exactly to the internal > format and are stored as approximations, so that storing and retrieving a > value might show slight discrepancies. Managing these errors and how they > propagate through calculations is the subject of an entire branch of > mathematics and computer science and will not be discussed here..." Yeah if OP wants exact numbers he needs to use numeric type. -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin