Konstantin Izmailov wrote:
I'm trying to read "money" field using PQgetvalue (PostgreSQL 8.3.7). The function returns 9 bytes, smth like 0h 0h 0h 0h 0h 0h 14h 0h 0h, for the value '$50.2'. I could not find description anywhere on how to convert the binary data into, for example, a double precision number. Would you please help me find a method of converting binary "money" data into a double precision?
Its my understanding that MONEY is deprecated that you really should store money values as NUMERIC instead.
a wild guess says thats some variant on NUMERIC, which is stored in base 10000 as a series of 16 bit integers, with a fuixed point fraction.
why would you convert money to floating point? $0.10 in binary floating point is a repeating fraction which can't be represented exactly
btw, are you sure your value isn't $51.20 ? 0x1400 is 5120 decimal. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general