2009-11-03 3 views
0

Je travaille avec microtime() en temps quelques scripts, mais tous les scripts ont des temps très rapides, par exemple 2.1934509277344E-5En PHP, lorsque je travaille avec de très petits nombres, comment puis-je voir le nombre exact, et non "2.1934509277344E-5"?

comment puis-je obtenir php pour afficher correctement que sans e-5?

(qui je suppose est 0,000021934509277344 longtemps que je l'ai fait les maths ...?)

+0

PHP fait de son mieux pour vous montrer le nombre exact. Voulez-vous plus de décimales? Quel serait le format de sortie préféré? 21,9 microsecondes seraient les plus lisibles. – pavium

+0

Salut, re: ceux qui ont dit à propos de printf - merci :) juste ce que j'étais après re: microsecondes - ne fait aucune différence si ses microsecondes ou autres. était juste difficile de voir rapidement la différence quand tout était e-6 etc) – nixnub

Répondre

4

Vous pouvez utiliser (s)printf

$myVal = 0.0000002; 
echo $myVal; // "2.0E-7" 
printf("%0.7f", $myVal); // "0.0000002" 
+0

Pour plus de précision, vous pouvez jouer avec le nombre de décimales qu'il affiche en changeant le premier paramètre de la fonction printf. "% 0.7f" = nombre à virgule flottante # avec 7 chiffres après la virgule. – AndyG

0

Essayez ceci: trim(sprintf('%40.20f', 2.1934509277344E-5)). %40.20f dit à sprintf d'afficher 40 chiffres avec 20 chiffres décimaux. Vous pouvez ajuster cela comme vous le souhaitez. Le numéro sera dirigé par un espace pour remplir 40 chiffres, donc je le couperai.

Espérons que cela aide.

+0

vous pouvez simplement utiliser '% 0.20f', qui ne sera pas du tout à gauche. – nickf