1- usare la valuta italiana solo ed esclusivamente in visualizzazione, le virgole di separazione dei decimali ti fanno solo impazzire quando devi fare i conteggi (usa nel caso la number_format oppure imposta il "locale" del server per gestire i valori nella valuta italiana)
http://php.net/manual/en/function.number-format.php
2- usa le funzioni matematiche gia' fornite da php : http://it.php.net/manual/en/function.round.php
3- rimosso da me ho scirto una baggianata .
edit :
ovviamente consiglio di farti 1 funzione per poter riutilizzare la funzionalità ove necessario.
Ti faccio 1 esempio di funzione dammi 1 secondo che la testo 
Controllando la funzione round di php hai a disposizione un parametro mooooolto interessante .
Codice PHP:
function myRoundUp($val)
{
return round($val,-2);
}
TEST :
Codice PHP:
$val = "1288.55" ;
$rounded = myRoundUp($val) ;
echo $val." --> ".$rounded." ==> ".number_format( $rounded , 2 , "," , "" )."
" ;
$val = "375.11" ;
$rounded = myRoundUp($val) ;
echo $val." --> ".$rounded." ==> ".number_format( $rounded , 2 , "," , "" )."
" ;
$val = "325.78" ;
$rounded = myRoundUp($val) ;
echo $val." --> ".$rounded." ==> ".number_format( $rounded , 2 , "," , "" )."
" ;
$val = "10.78" ;
$rounded = myRoundUp($val) ;
echo $val." --> ".$rounded." ==> ".number_format( $rounded , 2 , "," , "" )."
" ;
$val = "1.78" ;
$rounded = myRoundUp($val) ;
echo $val." --> ".$rounded." ==> ".number_format( $rounded , 2 , "," , "" )."
" ;
$val = "0.1" ;
$rounded = myRoundUp($val) ;
echo $val." --> ".$rounded." ==> ".number_format( $rounded , 2 , "," , "" )."
" ;