URL: https://linuxfr.org/forums/programmation-php/posts/bug-dans-php-nombre-mal-tronqu%C3%A9 Title: bug dans php, nombre mal tronqué Authors: Cyber Kobold Date: 2005年10月24日T07:27:04+02:00 Tags: Score: 0 Dans un script je génère un nombre aléatoire : l'utilisateur entre deux valeur a et b que je compare avec le nombre généré par le script. Le but étant d'écrire le nombre $nombre_alea sous la forme $a .10^$b Le script génère une réponse pour comparaison qui sera $p . 10^$puissance A et p doivent donc être au finale égaux ! Mais il se trouve que php trouve régulièrement une différence de l'ordre de 1E-15. problème : est ce un bug ? comment le résoudre ? PS : la page exécutant le code est là : [http://kobold.myftp.org/math/ecriture_science.php](http://kobold.myftp.org/math/ecriture_science.php) le code est là : [http://kobold.myftp.org/math/ecriture_science.txt](http://kobold.myftp.org/math/ecriture_science.txt) ci-dessous un extrait du code // initialise avec les microsecondes depuis la dernière seconde entière mt_srand((float) microtime()*1000000); $randvala = mt_rand(-30000,30000); $randvalb = mt_rand(-9,9); $div = pow(10,$randvalb); $nombre_alea = $randvala / $div ; $nombre = abs ($nombre_alea) ; $puissance = floor (log10($nombre) ) ; $p = ($nombre_alea / pow(10,$puissance) ) ; //test débuggage " TEST de débuggage SOLUTION ALGO : $p x 10 $puissance " ; "p : $p" ; "a : $a" ; $dif = $p-$a ; echo "p-a : $dif " ;