Séparateur décimal : virgule et alignement sur

Lists: pgsql-fr-generale
From: Denis Bitouzé <dbitouze(at)wanadoo(dot)fr>
To: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Séparateur décimal : virgule et alignement sur
Date: 2007-12-23 19:04:41
Message-ID: 20071223200441.25ee722f@drums
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Bonsoir,

quelqu'un saurait-il comment faire en sorte :

1. que le séparateur décimal soit une virgule ? Je n'y parviens pas
(sortie sur un terminal dont l'encodage est en ISO 8859-1) :

more /usr/share/locale/fr_FR.ISO-8859-1/LC_NUMERIC
"#(,0,ÿÿ,utf-8

evaluation=# set lc_numeric TO 'fr_FR.ISO-8859-1';
SET
evaluation=# select '8.5'::numeric;
numeric
---------
8.5
(1 ligne)

et le pire étant qu'avec les devise, ça marche !

evaluation=# set lc_monetary TO 'fr_FR.ISO-8859-1';
SET
evaluation=# select '1000'::money;
money
-------------
EUR1 000,00
(1 ligne)

2. qu'il y ait alignement des résultats sur le séparateur décimal ? Je
n'y parviens pas :

nombres_decimaux
------------------
8.5
12
12
12
0
9.5
13.5
12
11.5
(9 lignes)

Merci d'avance pour toute suggestion.
--
Denis


From: Sébastien Lardière <sebastien(at)lardiere(dot)net>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Séparateur décimal : virgule et alignement sur
Date: 2007-12-23 19:39:22
Message-ID: 476EB96A.2000400@lardiere.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Denis Bitouzé a écrit :
> Bonsoir,
>
> quelqu'un saurait-il comment faire en sorte :
>
> 1. que le séparateur décimal soit une virgule ? Je n'y parviens pas
> (sortie sur un terminal dont l'encodage est en ISO 8859-1) :
>
[...]

> evaluation=# select '1000'::money;
> money
> -------------
> EUR1 000,00
> (1 ligne)
>
Bonsoir,

Il faut utiliser to_char() ->
http://docs.postgresqlfr.org/8.2/functions-formatting.html

Le type money étant obsolète, il est préférable de l'éviter ..

--
Sébastien


From: Denis Bitouzé <dbitouze(at)wanadoo(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Séparateur décimal : virgule et alignement sur
Date: 2007-12-23 20:19:01
Message-ID: 20071223211901.06549108@drums
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Le Sun, 23 Dec 2007 20:39:22 +0100
Sébastien Lardière <sebastien(at)lardiere(dot)net> a écrit :

> Il faut utiliser to_char() ->
> http://docs.postgresqlfr.org/8.2/functions-formatting.html

Oui, j'ai oublié de préciser que j'avais vu cette fonction mais je
trouve gênant que mes données numériques deviennent des caractères car
elles vont servir à d'autres calculs. Je peux certes faire les calculs
sur les données non encore transformées en caractères mais j'espérais
qu'il y avait moyen d'agir directement sur la forme affichée des
données numériques (sans que ça modifie leur valeur, un peu comme c'est
possible avec un tableur).

> Le type money étant obsolète, il est préférable de l'éviter ..

Ah OK, merci. En fait j'avais trouvé cela dans les archives de la liste
et comme, effectivement avec ce type de données, j'obtenais bien la
virgule comme séparateur décimal, je voulais montrer à quel point il y
avait de quoi être surpris...

Merci !
--
Denis


From: Sébastien Lardière <sebastien(at)lardiere(dot)net>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: Séparateur décimal : virgule et alignement sur
Date: 2007-12-23 20:57:43
Message-ID: 476ECBC7.7030808@lardiere.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-fr-generale

Denis Bitouzé a écrit :
> Le Sun, 23 Dec 2007 20:39:22 +0100
> Sébastien Lardière <sebastien(at)lardiere(dot)net> a écrit :
>
>
>> Il faut utiliser to_char() ->
>> http://docs.postgresqlfr.org/8.2/functions-formatting.html
>>
>
> Oui, j'ai oublié de préciser que j'avais vu cette fonction mais je
> trouve gênant que mes données numériques deviennent des caractères car
> elles vont servir à d'autres calculs. Je peux certes faire les calculs
> sur les données non encore transformées en caractères mais j'espérais
> qu'il y avait moyen d'agir directement sur la forme affichée des
> données numériques (sans que ça modifie leur valeur, un peu comme c'est
> possible avec un tableur).
>

Il n'est bien sûr pas question de stocker les valeurs formattées ainsi,
mais simplement de les afficher, donc en résultat d'un select ou d'une vue.

Il est vrai qu'il est nécessaire de formater les données
systèmatiquement, mais étant donné que les types de données numériques
sont génériques, PostgreSQL ignorant l'unité de valeur, je ne vois pas
d'autre moyen. A moins bien sûr de développer un type de données
spécifique.

PostgreSQL ne connait qu'un seul séparateur décimal, et c'est beaucoup
plus simple comme ça ...

--
Sébastien Lardière
06 09 62 84 25
http://sebastien.lardiere.net/