Ecrire sous forme décimale

Magicvinni -  
Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

En php, comment forcer une écriture décimale ? Je m'explique :
si je tape :
$chaine=strval(6.2/pow(10,5));
echo $chaine


Il me retourne 6.2E-5 alors que je voudrais 0.000062.

Merci de votre aide.

Vincent

1 réponse

  1. Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   54
     
    Bonjour, en utilisant printf
    $chaine=strval(6.2/pow(10,5));
    printf("%f",$chaine);
    0
    1. Magicvinni
       
      Bonjour,

      Merci de la réponse, j'avais essayé, mais elle ne fonctionne plus du coup pour 4410/pow(10,5) , elle affiche alors 0,044100 avec des zéros inutile ce qui n'est pas terrible non plus...

      Merci
      0
    2. Hxyp Messages postés 401 Date d'inscription   Statut Membre Dernière intervention   54
       
      C'est le format du printf il faut donner une précision après la virgule exemple :
      printf("%.4f",$chaine); va renvoyer 4 chiffres après la virgule. Vous pouvez reformater la sortie si les 0 en trop sont un problème. Je ne sais pas s'il existe une fonction en php pour le faire directement mais en faisant comme ça :
      <?php
      function supzero($str){
         $var=sprintf("%.8f",$str);
         for($i=0;$i<strlen($var);$i++){
               if((int)substr($var,-$i,$i)!=0) break;
         }
         if($i==1) return $var;
         else return substr($var,0,-$i+1);
      }
      $chaine=supzero(6.254/pow(10,5));
      echo $chaine;
      ?>
      

      c'est ok
      0