Re: "money" binary representation - Mailing list pgsql-general

From Jasen Betts
Subject Re: "money" binary representation
Date
Msg-id hdr0uh$6um$2@reversiblemaps.ath.cx
Whole thread Raw
In response to "money" binary representation  (Konstantin Izmailov <pgfizm@gmail.com>)
Responses Re: "money" binary representation  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-general
On 2009-11-16, Konstantin Izmailov <pgfizm@gmail.com> wrote:
> --000e0cd5d09230ff7d04787526aa
> Content-Type: text/plain; charset=ISO-8859-1
>
> 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.

money is a 64 bit integer representing a number of cents, it appears
to be big-endian byte order on ypur system

it is deprecated and should not be used in new applications, use some
sort of numeric instead.

> Would you please help me find a method of converting binary "money" data
> into a double precision?

floating point is not recomended for financial calculations, but
dividing the integer value by 100.0 should get you there.


pgsql-general by date:

Previous
From: Konstantin Izmailov
Date:
Subject: passing parameters to multiple statements
Next
From: Jasen Betts
Date:
Subject: Re: -c argument not recognized