to_char with locale decimal separator

From: Ingmar Brouns <swingi(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: to_char with locale decimal separator
Date: 2013-07-29 11:24:14
Message-ID: CA+77E=YLnVm1A7gcsoDi9MqvxC6cmC4CQ+UZ5Y62gnVbU1v4QQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I need to convert some numerical values to text using the decimal
separator that corresponds to the current locale. However, I do
not want to lose information by padding with zero decimals or
truncating zero decimals. So I basically want a text cast that
also replaces the dot by a comma. I've looked at the to_char
function and the formatting patterns, but when using those I
either add or truncate zero decimals.

# show lc_numeric;
lc_numeric
------------
nl_NL.utf8
(1 row)

# select 1.500::text;
text
-------
1.500
(1 row)

# select to_char(1.500, '999999D99999999');
to_char
------------------
1,50000000
(1 row)

# select to_char(1.500, 'FM999999D99999999');
to_char
---------
1,5
(1 row)

I would like to have '1,500' as the output, what is the best way
to achieve this?

Thanks in advance,

Ingmar

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Javier de la Torre 2013-07-29 13:12:04 Event trigger information accessibility on plpgsql
Previous Message Giuseppe Broccolo 2013-07-29 10:00:46 Re: postgres FDW cost estimation options unrecognized in 9.3-beta1