MYSQL : DECIMAL ??!!

SuG
Eléphanteau du PHP | 42 Messages

18 juin 2005, 00:29

Bonjour
J'aimerais faire un calcul d'une moyenne que je stoque dans un table dans le champ 'moyenne'
Cette moyenne est donc decimale, mais le probleme est que je ne sais pas comment faire en sorte que ce nombre
soit stocké sous la forme 0.00 et non pas soit arrondi à l'entier le plus proche chaque fois !!
J'ai essayé de mettre "DECIMAL" pour le type de la moyenne mais ca ne change rien...

Comment faire ? d'avance merci !!

Eléphant du PHP | 102 Messages

18 juin 2005, 01:16

En utilisant un type string ?

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

18 juin 2005, 01:19

Si c'est un nombre défini de chiffres après la virgule tu peux le stocker en entier.
Par exemple si tu travailles à 2 chiffres après la virgule, stocke des entiers = 100 * la valeur réelle.
Pour 1.42 tu stockeras 142, et lorsque tu récupèreras 98 tu le convertiras en 0.98.

Cela évitera toute complication dans le choix du type, et toute incompatibilité ultérieure.

Eléphant du PHP | 287 Messages

18 juin 2005, 01:54

avec le type float ça peut aussi le faire:
http://dev.mysql.com/doc/mysql/fr/numer ... rview.html

niveau compatibilité je crois que la plupart des systèmes informatiques connaissent le type float.

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

18 juin 2005, 11:13

Oui mais j'ai appris à me méfier du type float...
On se retrouve souvent avec des erreurs d'arrondis. Mais effectivement cela conviendra parfaitement si tu utilises un nombre limité de décimales, auquel cas tu travailleras en arrondis (à tant de chiffres après la virgule).

SuG
Eléphanteau du PHP | 42 Messages

19 juin 2005, 15:06

merci pour vos réponses très bien pensées je trouve

finalement j'ai mis le type float et ca a l'air de marcher

merci encore !