perte partie decimale dans variable ${$var}
Bien le bonjour,
j'ai une variable qui se trouve dans une boucle foreach (peu importe a la limite)
dans la quelle je veux stocker une valeur float, et il me "bouffe" ma partie decimale: voici mon bout de code
sachant que $etape vaut "prod" et que $prodList contient des chaines de caractere qu contiennent des noms de tableaux de variables a stocker.
iScan sert a incrementer les index de tableaux
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
for ($iScan=0;$iScan<$nbEch;$iScan++)
foreach(${$etape."List"} as $key )
{
if ( is_true_float($results[$counter])) // cf doc php "is_float"
{
echo $results[$counter]." is a float<br>";
$dataTmp=floatval($results[$counter]);
echo " $dataTmp "; // s'affiche bien
//${$key}[$iScan]=0; //init de la variable ? --> ca ne donne rien
//settype(${$key}[$iScan],"float"); // non plus.... :/
${$key}[$iScan] = number_format($dataTmp, 2, '.', ''); //avec ou sans number format ca ne change pas !! :s
echo ${$key}[$iScan]." <br>"; //ne s'affiche pas bien
}
else
${$key}[$iScan]=$results[$counter];
$counter++;
} |
j'ai ajouter un $dataTmp mais ça n'a rien changé, il y a une variable qui contient un float, ou ca marche a chaque fois, et les autres que nini, a chaque fois aussi.
en resultat je n'ai que des entiers.
Quand je fais un settype float, il me fait une erreur :
Code:
1 2
|
Fatal error: Only variables can be passed by reference in |
, alors qu'il l'a fait pour la variable precedente....
voila, je suis un peu "a la lose"
je complete en vous mettant le "resultat affiché":
Code:
1 2 3 4 5 6 7 8 9
|
124.3 is a float
124.3 124.30
1.06 is a float
1.06 1
3.18 is a float
3.18 3
1e-4 is a float
0.0001 0 |
on peut voir le resultat avant et apres stockage... le premier marche, et le reste??!!!
merci d'avance!