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