Recherche moyenne
Fermé
Mystic1812
Messages postés
10
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
30 juillet 2013
-
18 juil. 2013 à 10:55
Utilisateur anonyme - 18 juil. 2013 à 13:31
Utilisateur anonyme - 18 juil. 2013 à 13:31
A voir également:
- Recherche moyenne
- Comment calculer la moyenne sur excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche adresse - Guide
- Recherche image - Guide
- Recherche musique - Guide
3 réponses
Utilisateur anonyme
18 juil. 2013 à 11:02
18 juil. 2013 à 11:02
salut,
ici : https://www.php.net/manual/fr/function.doubleval.php
tu verra :
faire des opération mathématiques sur des chaines de caractère est à éviter, autant travailler avec des doubles (vu que tu fais des divisions ... )
(avec du int tu aura des arrondis)
naga
ici : https://www.php.net/manual/fr/function.doubleval.php
tu verra :
<?php $mynumstr = "100,000,000.75"; $mynum = doubleval(str_replace(",","",$mynumstr)); echo "Normal Value:".number_format($mynumstr); ?>
faire des opération mathématiques sur des chaines de caractère est à éviter, autant travailler avec des doubles (vu que tu fais des divisions ... )
(avec du int tu aura des arrondis)
naga
Mystic1812
Messages postés
10
Date d'inscription
mardi 21 août 2012
Statut
Membre
Dernière intervention
30 juillet 2013
18 juil. 2013 à 11:15
18 juil. 2013 à 11:15
BOnjouuur,
Merci mais j'ai pas bien saisi ce que je dois faire :D
Merci mais j'ai pas bien saisi ce que je dois faire :D
bah en gros :
ne devrait rien donner
mais :
devrait afficher 1
et si tu fais :
tu auras ici 1 aussi
dans ton cas tu récupère des valeurs de requetes, soit des chaines de caractères. Il faut les convertir en entier pour faire des calculs. De plus tu risque fortement de te retrouver avec des valeurs à virgules vu que tu effectue des divisions (dans mon cas j'ai fais exprès d'utiliser le fonction pour convertir en entier, je vais pas tout mâcher ^^).
DONC : convertir tes varibles de types chaines (récupérées grâce à ta requête) vers un type entier ou double (double sera mieux je pense), et afficher le résultat de la division.
Note : effectuer une opération sur des entiers génèrera un résultat entier (sauf si tu cast comme il faut) ensuite, le père à fait de bonnes remarques, surtout la 3&4 qui pose de gros problème (concrètement faire un while sur un résultat unique fonctionnera mais c'est inutile)
$a = "100"; $b = "10"; echo $a / $b;
ne devrait rien donner
mais :
$a = 100; $b = 10; echo $a / $b;
devrait afficher 1
et si tu fais :
$a = "100"; $b = "10"; echo intval($a) / intval($b);
tu auras ici 1 aussi
dans ton cas tu récupère des valeurs de requetes, soit des chaines de caractères. Il faut les convertir en entier pour faire des calculs. De plus tu risque fortement de te retrouver avec des valeurs à virgules vu que tu effectue des divisions (dans mon cas j'ai fais exprès d'utiliser le fonction pour convertir en entier, je vais pas tout mâcher ^^).
DONC : convertir tes varibles de types chaines (récupérées grâce à ta requête) vers un type entier ou double (double sera mieux je pense), et afficher le résultat de la division.
Note : effectuer une opération sur des entiers génèrera un résultat entier (sauf si tu cast comme il faut) ensuite, le père à fait de bonnes remarques, surtout la 3&4 qui pose de gros problème (concrètement faire un while sur un résultat unique fonctionnera mais c'est inutile)
$a = "100";
$b = "10";
echo $a / $b;
ne devrait rien donner
Bien sûr que si ça marche. Ça donne bien 10
$a = 100;
$b = 10;
echo $a / $b;
devrait afficher 1
et si tu fais :
$a = "100";
$b = "10";
echo intval($a) / intval($b);
tu auras ici 1 aussi
Non, ça affiche 10 et non pas 1.
Il est parfaitement inutile de convertir les chaînes en nombres pour effectuer des calculs, php s'en charge tout seul
$b = "10";
echo $a / $b;
ne devrait rien donner
Bien sûr que si ça marche. Ça donne bien 10
$a = 100;
$b = 10;
echo $a / $b;
devrait afficher 1
et si tu fais :
$a = "100";
$b = "10";
echo intval($a) / intval($b);
tu auras ici 1 aussi
Non, ça affiche 10 et non pas 1.
Il est parfaitement inutile de convertir les chaînes en nombres pour effectuer des calculs, php s'en charge tout seul
ah oui ca fait 10 xD
mais la conversion peu être utile car si le cast automatique récupère la valeur du caractère les résultats risquent d'être sympas ... (il y a des languages d'assistés, comme windev, qui le font pas trop mal, mais même là on a parfois des surprises).
si les données sont bien typées dans sa base, il peu aussi faire une seule requête qui effectuera les calcul
mais la conversion peu être utile car si le cast automatique récupère la valeur du caractère les résultats risquent d'être sympas ... (il y a des languages d'assistés, comme windev, qui le font pas trop mal, mais même là on a parfois des surprises).
si les données sont bien typées dans sa base, il peu aussi faire une seule requête qui effectuera les calcul
Utilisateur anonyme
18 juil. 2013 à 11:30
18 juil. 2013 à 11:30
Bonjour
1 - <?
Ça commence mal. Normalement c'est <?php, sauf si tu as configuré ton php pour accepter les balises courtes.
2 - while($row...
Pourquoi faire une boucle alors que cette requête ne rend qu'une seule ligne ???
3 - while($row1 = mysql_fetch_row($res1)
Tu viens de faire une requête dont le résulta est dans $res2, pourquoi faire un mysql_fetch_row sur $row1 ?
4 - Pourquoi ta variable $row s'appelle-t-elle subitement $raw[1] ? Et pourquoi ta variable $row1 donne-t-elle aussi $raw1[1] mais de plus $row2[2], $row3[3]...
5 - Es-tu conscient avec ta deuxième requête que quand tu fais tes calculs, tu es sorti de la boucle et donc, tu ne travailles que sur la dernière ligne de résultats
Voilà pour la première lecture. Bon courage !
1 - <?
Ça commence mal. Normalement c'est <?php, sauf si tu as configuré ton php pour accepter les balises courtes.
2 - while($row...
Pourquoi faire une boucle alors que cette requête ne rend qu'une seule ligne ???
3 - while($row1 = mysql_fetch_row($res1)
Tu viens de faire une requête dont le résulta est dans $res2, pourquoi faire un mysql_fetch_row sur $row1 ?
4 - Pourquoi ta variable $row s'appelle-t-elle subitement $raw[1] ? Et pourquoi ta variable $row1 donne-t-elle aussi $raw1[1] mais de plus $row2[2], $row3[3]...
5 - Es-tu conscient avec ta deuxième requête que quand tu fais tes calculs, tu es sorti de la boucle et donc, tu ne travailles que sur la dernière ligne de résultats
Voilà pour la première lecture. Bon courage !