Salve ho un problema

nel db ho un campo di nome importo_ben
di tipo varchar 255

che ha al suo interno questo valore 10261,22

che quando stampo a video lo vedo così

EUR 10.261,00

uso questo codice per stamparlo nel formato moneta

codice:

codice:
<?
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $importo_ben);
?>



e se anche vado a tirarmi la somma di tutti i record che contengono quel valore campo

codice:

codice:
$sql = "SELECT SUM(importo_ben) as totale_erogato FROM beneficiari"; 
$res = mysql_query($sql); 
list($totale_erogato) = mysql_fetch_array($res);
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $totale_erogato);


mi trovo soldi in meno... perche suppongo non sommi i decimali

sapreste dirmi come mai mi annulla i decimali o come risolvere???


grazie mille e buon lavoro