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 : 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++;
			}
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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
on peut voir le resultat avant et apres stockage... le premier marche, et le reste??!!!

merci d'avance!