Converter mascara ###.###,## para float ######.##

Pessoal estou com um problema básico, tenho uma entrada de dados com maskara
###.###,## e tenho que fazer uma soma pra isso tenho que tirar a maskara
pois esta dando um erro pelo fato da virgula, além de ter de gravar no banco de dados.
Consegui fazer ###,## virar ###.## com o seguinte codigo:

[code] DecimalFormat formato = new DecimalFormat(“0.00”);
String valor = valorField.getText();

    	  try {   
    	      float dValor = formato.parse(valor).floatValue();   
    	      total_caixa=total_caixa+dValor;
    	  } catch (Exception e) {   
    	      e.printStackTrace();   
    	  }  

    	//total_caixa=total_caixa;
    	totalField.setText(String.valueOf(total_caixa));[/code]

Mas se o Usuário digitar o valor 12.547,47 por exemplo, não soma porque ele não entra no try.
Se alguém puder resolver meu problema ficarei bastante agradecido.
De: André Belém

antes de dar o try, retire a virgula da string e substitua por um ponto

 String valor = valorField.getText().replace(",",".");     
              
   try {     
       float dValor = formato.parse(valor).floatValue();     
       total_caixa=total_caixa+dValor;  
   } catch (Exception e) {     
       e.printStackTrace();     
   }