Pessoal,
estou criando um sistema de vendas em java, utilizando o netbeans para criar um JavaDesktop Application.
Tudo andava bem até ter dificuldades com o valores no formato float, não entendo bem o motivo mas o java pega valores como 80,34 e quando soma com 30,53 ele dá uma soma meio estranha como 110,869999, para resolver isso pesquisei e estou usando a formatação do float. Mas na hora de alterar o Label que contém o valor total ele simplesmente não faz mais nada apenas trava. Segue o trecho de código que eu fiz:
DecimalFormat df = new DecimalFormat();
df.applyPattern("#,##0.00");
float preco = Float.parseFloat(jTextField3.getText());
float total = Integer.parseInt(wquant) * preco;
DefaultTableModel modelotabela = (DefaultTableModel)jTable1.getModel();
modelotabela.addRow(new Object[]{jTextField1.getText(),jTextField2.getText(),jTextField3.getText(),jTextField4.getText(),df.format(total)});
float totalgeral = Float.parseFloat(jLabel16.getText())+total;
try{
DecimalFormat df2 = new DecimalFormat("#,##0.00");
//df2.applyPattern("#,##0.00");
String valor = df2.format(totalgeral);
JOptionPane.showMessageDialog(this,"Formatado "+valor);
JOptionPane.showMessageDialog(this,valor.length());
jLabel16.setText(valor);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this,e);
}
já testei comentar a linha que altera o texto do label para ter certeza se era isso mesmo e o código fica funcionando corretamente. Até coloquei um try para tentar ver se exibia alguma mensagem de erro, mas nada.
se alguém tiver um sugestão ficarei muito grato.
Atenciosamente,
Ranieri Viana