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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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++; }
en resultat je n'ai que des entiers.
Quand je fais un settype float, il me fait une erreur :
, alors qu'il l'a fait pour la variable precedente....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Fatal error: Only variables can be passed by reference in
voila, je suis un peu "a la lose"
je complete en vous mettant le "resultat affiché":
on peut voir le resultat avant et apres stockage... le premier marche, et le reste??!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
merci d'avance!
Partager