|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Eric Informaticien Inscription : juin 2004 Messages : 121 ![]() |
bonjour à tous,
je suis sous postgresql 9.1 avec pgadmin 1.14.3 je rencontre sous pgadmin, un problème d'affichage des valeurs en double précision par exemple pour une valeur stockée en base 30.39993, pgadmin m'affiche 30.4 peut-on le forcer à afficher la vrai valeur ? (note: l'utilitaire console psql effectue aussi l'arrondi )merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 2 160 ![]() |
bonjour,
http://www.postgresql.org/docs/9.1/i...e-numeric.html double et double précision sont des types numéric inexact. Etes-vous sur qu'en base il y a bien ce nombre exactement d'enregistré ? (en faisant une multiplication par 100 par exemple ...) |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Eric Informaticien Inscription : juin 2004 Messages : 121 ![]() |
oui, j'ai fait un pg_dump de la base et j'ai bien le nombre enregistré en 30.39993
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 2 160 ![]() |
A combien est votre paramètre de session : extra_float_digits ? -10 ?
Essayez de le mettre à 0 si c'est le cas. |
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Eric Informaticien Inscription : juin 2004 Messages : 121 ![]() |
extra_float_digits me retourne 0.
|
|
|
00
|
|
|
#6 | ||
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
Déjà comment reproduire le problème?
En effet: Code :
a
----------
30.39993
(1 row)
|
||
|
|
00
|
|
|
#7 | ||
|
Membre habitué
![]() Eric Informaticien Inscription : juin 2004 Messages : 121 ![]() |
en fait le "problème" semble se situer au niveau du stockage.
par exemple : voici ce que me donne pg_dump Code :
je n'avais jamais remarqué cela jusqu'au changement de version de jdbc Peut être est ce un fonctionnement normal mais neamoins curieux |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 2 160 ![]() |
Avez-vous lu l'article de la doc que je vous ai linké plus haut ..?
|
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Eric Informaticien Inscription : juin 2004 Messages : 121 ![]() |
oui et je vous en remercie.
je l'ai aussi lu en français (on ne sait jamais) http://docs.postgresql.fr/9.1/dataty...tatype-numeric j'ai bien compris que le stockage pouvait être approximatif. mais je suis surpris de tant de "dérive" sur une seule décimale. pourquoi se compliquer la vie ? comme je l'ai dis précédemment c'est le changement de driver jdbc qui ma révélé cette curiosité. je vais donc revoir le type de champ qui stocke ces données. Merci pour tout ! |
|
|
00
|
|
|
#10 | |
![]() ![]() Inscription : octobre 2008 Messages : 1 702 ![]() |
Citation:
En binaire il y a problablement une infinité de chiffres après la virgule sur ce nombre 30.4 Mais si c'était 30.5 par exemple il n'y aurait aucune "dérive". |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com