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

A voir également:

1 réponse

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
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
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