Ecrire sous forme décimale

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

  • Votes
  • Date
  • Date décroissante
  1. Bonjour, en utilisant printf
    $chaine=strval(6.2/pow(10,5));
    printf("%f",$chaine);
    1. 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
    2. 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