suis récemment tombé sur une situation où je travaillais sur un serveur qui avait un fichier php.ini avec:Pourquoi le paramètre 'precision' brise-t-il php round()?
precision = 16
La valeur par défaut étant 14, cela semble assez inoffensif. Malheureusement, il conduit à ceci:
// ini_set('precision', 16);
echo round((20.12/36.79),4);
Résultat:0.5469000000000001
Huh? Ne devrait pas prendre soin des problèmes de précision de virgule flottante ici?
err, ce ..? peut mentionner la version de php? –
Cela ne semble pas avoir d'importance car c'est un problème de précision flottant. Testé et même résultat php 5.3 - php 7.0 – billynoah
ah je vois, on dirait que nous avons raté le concept de tronquer vs arrondi .. bien [une discussion sur les points flottants] (http://stackoverflow.com/a/14656315/4648586) –