ceci dit j'ai testé
<?php
$x = round(5.04589,3);
var_dump($x);
?>
<?php echo round(5.04589,3); ?>
est le résultat est
avec une version 5.3.5 de php pour windows (faudrais que je test avec ma vm nux tiens).float 5.046
5.046
après faut voir l'incidence de l'arrondis sur le résultat final du calcul
je pense qu'a final number format sera la solution, car la pour le coup tu ne maitrise pas la chose, a moins de faire ton propre "round"
@+