L'arrotondamento è una cosa mentre la formattazione dei numeri è un'altra. Esegui i calcoli sempre alla massima precisione (con tutte le cifre decimali a disposizione) e poi esegui l'arrotondamento, solo alla fine formatti il risultato come desideri.

PHP utilizza, oltre agli interi, il Floating point number per il calcolo di precisione.

ciao