Pb d'addition avec number_format et sessions

Signaler
Messages postés
59
Date d'inscription
mercredi 18 août 2004
Statut
Membre
Dernière intervention
25 octobre 2007
-
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013
-
salut a tous
G un pb avec avec une addition en utilisant la fonction number_format.
je vous explique :

il faut que j'additionne prix+livraison=total
voila ce qu'il se passe :
si prix =100,00
et que livraison=60,00
pas de probleme le total est bien egal a 160,00

mais si prix=200 000 000,00 (certes un peu cher!)
et que livraison=60,00
le total est alors egal a 200

OU

si prix=18 000,00
et que livraison=1 500,00
le total est alors egal a 19

et il affiche bien 19 et non pas 19.00
et il ne calcule que le dernier millieme
voila mon soucis...

//affichage du prix /quantité
echo 'prix :'.number_format($article['prix']*$quantite,2, ',', ' ').'€
';

//affichage du prix de la livraison
echo 'prix livraison:'.number_format($livraison, 2, ',', ' ').'€
';

//total (prix total etant le produit de quantité et de prix)
$_SESSION['prix_general']=number_format($livraison+$_SESSION['prix_total'], 2, ',', ' ');

echo echo 'prix livraison:'.number_format($HTTP_SESSION_VARS['prix_general']).'€';



merci de votre aide

2 réponses

Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

ca devrait mieux passser :-)

$article = $article['prix'];
// 2 chiffres apres le point
$article = sprintf("%0.2f", $article);
//remplace par des vigules
$article = str_replace ('.',',',$article);

puis $_SESSION['prix_general']= $livraison + $article ;

Laurent
www.phpsources.net"
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

j'ajoute: ca passera encore mieux si tu fais simplement

$article = $article['prix'];
$prix_general = $livraison + $article;

// 2 chiffres apres le point
$prix_general = sprintf("%0.2f", $prix_general);
//remplace par des vigules
$prix_general = str_replace ('.',',',$prix_general);

echo $prix_general ;