Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 02/12/2015 06:48:24
- grandegargouille
- Membre
Le calcul d'un ratio renvoie zéro
Bonjour,
J'utilise PostgreSql 9.4
Pourquoi SELECT (1/34)*20::float renvoie-t-il zéro (et non 0,588235294)
Alors que, par exemple, SELECT 1/(34*20)::float fonctionne et renvoie bien 0,001470588 ?
Merci de votre retour
Cordialement
Hors ligne
#3 02/12/2015 10:46:12
- gleu
- Administrateur
Re : Le calcul d'un ratio renvoie zéro
Pour être plus précis, dans le premier cas ((1/34)*20::float), la première opération est 1/34. Comme ce sont des entiers, le résultat de la division entière est 0. Multiplié par 20 en flottant, c'est toujours 0.
Pour le deuxième cas (1/(34*20)::float), on commence par multiplier 34 par 20, puis on convertit le résultat en flottant. Reste la division d'un entier par un flottant, qui donne un résultat en flottant.
Bref, l'ordre des opérations a une importance.
Guillaume.
Hors ligne
#4 02/12/2015 10:46:44
- gleu
- Administrateur
Re : Le calcul d'un ratio renvoie zéro
Et comme ça n'a rien à voir avec le thème "Site PostgreSQL", je déplace.
Guillaume.
Hors ligne
Pages : 1