Forum > PHP > Prix a virgule

Prix a virgule

ok Le problème posé sur ce sujet a été résolu.
avatar de stc
Membre
# Le 23/05/2009 à 19h03
Salut, j'ai une question qui me tarabiscote. Dans un formulaire je dois demander un prix que je récupère et ensuite enregistre dans une base de données. Ce prix servira ensuite à un paiement (paypal). Je me demande si PHP fait la différence entre 12,50 et 12.50 car pour un codeur comme moi ce n'est pas la même chose. C'est important surtout pour le paiement paypal, je ne peux me permettre aucune erreur.
Merci Tchao
avatar de Tony_
Administrateur
# Le 24/05/2009 à 14h13
Bonjour.

Il me semble que ce n'est pas la même chose à la fois pour PHP et SQL. L'idéal serait de faire un petit REGEX pour transformer la virgule en point. Et ce qui serait encore mieux c'est d'être sur d'enregistrer un int (et non pas une chaine de caractère). En gros je recommande quelque chose du genre:
  1. $prix = preg_replace("#,#", '.', $prix );
  2. $prix = intval($prix);


Normalement ça devrait faire l'affaire.
J'espère ne pas avoir dit trop de bêtises. smiley
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
avatar de stc
Membre
# Le 24/05/2009 à 15h41
Oui je crois que paypal n'accepte pas les virgules.
Alors j'ai fait:
  1. $object->price=str_replace(',','.',$object->price);

(ce qui est plus rapide que d'utiliser une regex)
Par contre je sauve mon prix dans une BDD en float.
Merci