Problemas com formatação[RESOLVIDO]

Olá…estou com um problema para formatar um valor retornado de um método.

DecimalFormat df = new DecimalFormat("R$ ###,###.00");

        Mensalista m = new Mensalista();
        String valorOk = valor.replace(",", ".");
        m.setValorMes(Float.parseFloat(valorOk));
        taMlista.append(m.getNome() + " " + df.format(m.getValorMes()) + "\n");//AQUI A FORMATAÇÂO FUNCIONA!!!

Método Get normal

 public float getValorMes() {
        return valorMes;
    }

Aqui não funciona


        d.setValorDia(Float.parseFloat(valorOk));
        taDlista.append(d.getNome() + df.format(d.calcularSalario() + "\n"));//ERRO

Método calcular

public float calcularSalario(){
        return valorDia*numDias;
    }

ERRO:

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Cannot format given Object as a Number
        at java.text.DecimalFormat.format(DecimalFormat.java:487)
        at java.text.Format.format(Format.java:140)
        at br.com.view.Tela.btDcadastrarActionPerformed(Tela.java:349)
        at br.com.view.Tela.access$100(Tela.java:25)
        at br.com.view.Tela$2.actionPerformed(Tela.java:164)

Estranho que os dois métodos retornal float pq a formatação funciona com um e com outro não?
estou usando o format.(Object)
Obrigadoooo

Obrigado

Reve os () numa e noutra linha

hã???

No segundo caso (onde dá erro) estás a tentar formatar mais do que o número.