On 11/20/11 1:29:37 PM, Lee Hachadoorian wrote:
I would like to store some in a single array some data that is conceptually related, but some of the data is floating point, and some of it is integer. Obviously the integer data *can* be stored as double precision, but I need to know about potential loss of precision. Double precision has "a precision of at least 15 digits." I would assume that that would mean that for double precision, 15 digits of data would be faithfully preserved. But I found a question on the list where a value stored as 955.60 sometimes returns as 955.599999999998. (http://archives.postgresql.org/pgsql-general/2011-08/msg00144.php) If this is the case, what does "a precision of at least [x] digits" actually mean? And can I reliably retrieve the original integer by casting to int (or bigint) if the number of digits in the original integer is less than 15?
Given Tom's answer, you may want to consider whether the DECIMAL data type is a better fit for your needs. -- Bill Moran -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general