Probleme avec la soustraction ...
tim80
-
acige Messages postés 25 Statut Membre -
acige Messages postés 25 Statut Membre -
Bonjour,
Je développe mon application de gestion de produit et je suis face à un problème assez inhabituel...
Via mysql, je récupère la valeur d'un prix de vente ht et le prix d'achat ht.
En voulant calculer le bénéfice, je fais une simple soustraction soit :
$benefice = $pvht-$paht;
jusque la pas de problème juste que le résultat du bénéfice est toujours un nombre entié alors qu'il devrait être un nombre avec des décimal...
exemple un produit vendu 74.41€ht, acheté 29€ht, le bénéfice devrait être de 45.41€
hors il me retourne uniquement 45 tout rond sans aucune décimale.
Avez vous une idée pour solutionné ce soucis ?
Je développe mon application de gestion de produit et je suis face à un problème assez inhabituel...
Via mysql, je récupère la valeur d'un prix de vente ht et le prix d'achat ht.
En voulant calculer le bénéfice, je fais une simple soustraction soit :
$benefice = $pvht-$paht;
jusque la pas de problème juste que le résultat du bénéfice est toujours un nombre entié alors qu'il devrait être un nombre avec des décimal...
exemple un produit vendu 74.41€ht, acheté 29€ht, le bénéfice devrait être de 45.41€
hors il me retourne uniquement 45 tout rond sans aucune décimale.
Avez vous une idée pour solutionné ce soucis ?
A voir également:
- Probleme avec la soustraction ...
- Addition et soustraction dans la même formule excel - Forum Excel
- Excel soustraction avec condition ✓ - Forum Excel
- Soustraction excel - Guide
- Formule excel condition si + soustraction - Forum Excel
- Addition et soustraction d'une même colonne ✓ - Forum Excel
6 réponses
utilise tu la syntax ceil qui sert a arrondir au niveau au dessus ?
Sinon dans la bdd et sql appel tu bien un double ? et pas un int
Sinon dans la bdd et sql appel tu bien un double ? et pas un int
je n'utilise aucune syntaxe pour réduire le décimal pour le moment.
Niveau base de donnée, j'avais mis de base en varchar pour faire simple, après j'ai testé en décimal et la en double, par contre je ne connaissais pas double et je ne peut pas mettre de chiffre à virgule avec double donc j'ai remis décimal
Niveau base de donnée, j'avais mis de base en varchar pour faire simple, après j'ai testé en décimal et la en double, par contre je ne connaissais pas double et je ne peut pas mettre de chiffre à virgule avec double donc j'ai remis décimal
Je viens de tester avec float, ça fonctionne par contre c'est pas très pratique je vois que ça ne prend pas les chiffres à virgules, mais les chiffres à point.
En soit je doit changer obligatoirement ma virgule par un point ou il y une autre solution ?
En soit je doit changer obligatoirement ma virgule par un point ou il y une autre solution ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour la php requête dans ma page php :
$requete_stock = "select paht, pvht, pvttc from stock where idstock='$idstock';";
$result_requete_stock = mysql_query($requete_stock) or die ('impossible dexecuter la requete_stock');
while ($data = mysql_fetch_array($result_requete_stock)){
$paht = $data['paht'];
$pvht = $data['pvht'];
$pvttc = $data['pvttc'];
}
$benefice = $pvht-$paht;
Voici ton code corrigé :
$requete_stock = "SELECT paht, pvht, pvttc FROM stock WHERE idstock='$idstock';";
$result_requete_stock = mysql_query($requete_stock) or die ('impossible d\'executer la requete_stock');
/**J'ai supprimé la boucle while qui est inutile dans votre cas **/
$data = mysql_fetch_array($result_requete_stock);
$paht = $data['paht'];
$pvht = $data['pvht'];
$pvttc = $data['pvttc'];
$benefice = $pvht-$paht;
$benefice = str_replace('.' ,', ',$benefice ); //Remplace le point par une virgule
$requete_stock = "SELECT paht, pvht, pvttc FROM stock WHERE idstock='$idstock';";
$result_requete_stock = mysql_query($requete_stock) or die ('impossible d\'executer la requete_stock');
/**J'ai supprimé la boucle while qui est inutile dans votre cas **/
$data = mysql_fetch_array($result_requete_stock);
$paht = $data['paht'];
$pvht = $data['pvht'];
$pvttc = $data['pvttc'];
$benefice = $pvht-$paht;
$benefice = str_replace('.' ,', ',$benefice ); //Remplace le point par une virgule