IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

perte partie decimale dans variable ${$var} [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 86
    Points : 67
    Points
    67
    Par défaut 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 : 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!
    Au début j'avais pensé à une énorme tapette à souris géante...

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 86
    Points : 67
    Points
    67
    Par défaut
    Alors pour ceux que ça interresse,
    j'ai réglé le probleme en ajoutant un
    avant de l'utiliser !!
    et beh, ça c'est fait.
    a bientot!
    Au début j'avais pensé à une énorme tapette à souris géante...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/07/2013, 15h13
  2. [Batch] if imbriqués, perte de données dans les variables '?'
    Par THKKK dans le forum Scripts/Batch
    Réponses: 11
    Dernier message: 27/05/2010, 15h11
  3. perte de valeur de variable dans php
    Par GYK dans le forum Langage
    Réponses: 3
    Dernier message: 02/10/2009, 12h11
  4. Extraire un élément faisant partie d'une variable dans une regexp
    Par byrdo dans le forum Programmation et administration système
    Réponses: 9
    Dernier message: 17/04/2009, 15h21
  5. Perte des antislash dans une variable
    Par jonathan1 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 30/05/2007, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo