Page 1 sur 1

Probleme calcul pourcentage! aidez moi svp!

Posté : 10 mai 2005, 15:31
par Poulpi
Bonjour un un soucis :
je dois faire une requete calculant un pourcentage. Mes 2 varaibles me donnent bien des valeurs ms lorsque jeffectue une division de cenne ci il ya un probleme ...

$Total_1heure = $db->get_var("SELECT count(er.id_etudiants) FROM etudiants e, etud_rep er
WHERE e.id_etudiants = er.id_etudiants and e.id_annees = 1 and er.id_reponses = 40
");

echo $Total_1heure; // me donne la valeur 44


$Total_1heureF=$db->get_var("SELECT count(er.id_etudiants) FROM etudiants e, etud_rep er
WHERE e.id_etudiants = er.id_etudiants and e.id_annees = 1 and er.id_reponses = 27 and 40 and er.id_questions = 13 ");

echo $Total_1heureF; // me donne la valeur 4

if ($Total_1heure > 0)
{
$total = ($Total_1heureF / $Total_1heure);
}

echo $total; // me donne la valeur 1 au lieu de 0.09

Pourquoi ce beug? pb de cast ou pas?
jai essayé de faire : $total = intval($Total_1heureF)/intval($Total_1heure); < ms mm probleme

Posté : 10 mai 2005, 16:07
par zeus
Je pencherais pour un pb de cast aussi !!!

Mais fait attention, 0,09 est un Float et non pas un entier !!! Par contre, je ne comprend pas pourquoi il donne 1 vu que si arrondi ou si on tronque 0.09, on devrait obtenir 0 !!!

Posté : 10 mai 2005, 16:29
par Invité
je pige pa aussi.
Dans ma requete je compte id_etudiants qui est un champs big int.
j'obtiens des resultats et quand jessai de faire une division les resultats sont incoherents et je vois pas pourquoi.

Posté : 10 mai 2005, 17:09
par mcbenny
Sachant que 0.09 est superieur a 0, l'arrondi peut se faire vers le haut aussi non ? et donc afficher 1...

Posté : 10 mai 2005, 17:22
par albat
Un truc : :idea:
Ajoute des echo dans ton code pour afficher côte à côte, valeurs brutes et pourcentages...