Type numérique avec virgule

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Type numérique avec virgule

par Invité » 29 mars 2005, 11:58

C'est résolu :

J'ai passé la colonne en DECIMAL et je convertis mon prix avant l'enregistrement en remplaçant la virgule par un point.

ça donne :
$prix = preg_replace('/,/','.', $prix);
Merci de votre aide.

par lulumOriss » 26 mars 2005, 14:30

Merci pour vos réponses, le mec va essayer avec un point.
Sinon, je me pencherai sur DECIMAL, ma première option qui, je le pensais, n'était pas appropriée.

lulu.

par Xenon_54 » 25 mars 2005, 21:10

J'ai dit que le mec devrait utiliser le point et non la virgule s'il veut que sa valeur ne soit pas tronquée lors de l'insertion.

par eSp » 25 mars 2005, 21:03

Ah oui désolé je n'avais vu qu'il voulait une virgule ! Donc dans ce cas, il faut garder le type FLOAT et il faut faire les même précisions que pour le type DECIMAL...

Je cite la doc:
Une syntaxe alternative existe aussi, elle utilise deux paramètre optionnel après le mot clé FLOAT. Avec cette option, le premier nombre représente toujours la taille de stockage nécessaire pour la valeur, et le second nombre représente le nombre de chiffres à stocker et afficher, après la virgule décimale (comme pour les types DECIMAL et NUMERIC). Lorsque MySQL stocke un nombre pour une telle colonne, et que cette valeur a plus de décimale que requis, la valeur est arrondie pour éliminer les chiffres surnuméraires.
Par ailleurs, j'étais parti sur le type DECIMAL car en navigant dans la doc je suis tombé sur ceci:
La représentation des valeurs monétaires est un problème commun. Avec MySQL, vous devrez utiliser le type DECIMAL.
@++ :wink:

par Xenon_54 » 25 mars 2005, 20:53

C'est avec un point, pas une virgule.

par eSp » 25 mars 2005, 20:45

Salut,

Utilises plutôt le type DECIMAL .... Et n'oublie pas de spécifier la précision et l'echelle (cf. la doc).

++

Type numérique avec virgule

par lulumOriss » 25 mars 2005, 17:49

Bonjour à tous,

J'enregistre dans ma base mySQL, un prix qui peut être avec 2 chiffres après la virgule.
La colonne est de type FLOAT, or il n'enregistre que les entiers avant la virgule, pas le reste.

ex : 12,50 devient 12,00

Faut-il convertir ma variable avant l'enregistrement ?

Merci de vos réponses. lulu.