Type et Taille/Valeurs d'un champ tarif?

WRInaute passionné
Bonjour,

Je suis confronté à un petit soucis technique concernant un champ contenant des prix!
Ainsi si un enregistrement est effectué avec la somme de 1.11, sql m'arrondit à 1 .. idem pour un chiffre de 10.40 passe à 10.4 ..?
Les valeurs sont saisie dans un simple formulaire et j'enregistre dans un champ de type "Double" ... visiblement mon type n'est pas le bon ^^!
J'ai beau chercher sur le net, je ne trouve pas de sujet concret sur mon soucis hormis garder mon type en Double et passer la valeur à (10,2)..un truc du genre quoi!
Dans le doute, je vous demande ou se trouve mon erreur.

Merci
 
WRInaute impliqué
decimal (x,z) ou float(x,z) où x est le nombre de chiffres avant la virgule et z, le nbre après la virgule.

pour obtenir des des nombres comme 10.55, tu mets decimal (2,2) ou float(2,2) :wink:
 
WRInaute passionné
Bonsoir honolulu,

Merci de ta réponse. Je viens de tester les 2 cas decimal(2,2) et float(2,2) et quand je change un "montant" à 10.40 par exemple, il me garde l'ancienne valeur :?:

---Champ--|Type-----------|Interclassement|-Attributs|--Null--|Défaut-|-Extra
-montant--|decimal(2,2)--|------------------|------------|-Non---|---------|--------

Moi pas comprendre ?
Merci
 
WRInaute impliqué
il n'y a pas de raison : si tu ne formates pas ton prix à l'affichage (ni d'ailleurs lors de l'insertion en bdd), mysql devrait te retourner 10.40 :wink:
 
WRInaute passionné
Ouai sauf que la il veut vraiment pas ... je change le montant directement via mysql et il ne veut rien savoir :?:
 
WRInaute passionné
A force de manipuler le "type", tout est passé à 0.99 mais ce n'est pas grave c'est une base de teste. Si je passe la valeur à 10.40 et que j'enregistre, mysql me retourne aucune erreur mais le montant reste à 0.99 avec le type decimal(2,2).
Je viens de passer le type à decimal(10,2) pour voir ce que ça fait et la sa fonctionne ..?

La, je suis dans le flou le plus total ^^.
 
WRInaute passionné
Okayyyyyyyyyyyy :wink: ,
Donc là, j'ai bon normalement .. decimal(10,2) signifie 10 chiffres au total dont 8 avant la virgule et 2 après.. tu confirme?
 
Discussions similaires
Haut