Boa Tarde a todos ..... Estou desenvolvento um programa de controle de nota do produtor ..... para dar baixa nas notas eu uso no meu form um ListView...... os campos são código do produtor/quantidade/valor unitario ....tem os botões adicionar e remover do listView os produtos. O que acontece que quando vou inserir um valor maior que 999,99 da um erro de ponto flutuante o código do botoão adicionar é esse: procedure TformLiqNotas.SpeedButton1Click(Sender: TObject); var ListItem : TListItem ; Quantidade : integer ; valor : double ; Valor_T : double ; i : integer ; soma : double ; begin Quantidade := StrToint(edtQtde.text) ; Valor := DblValue(edtvlr.text) ; Valor_T := valor * quantidade ; ListItem := ListView1.Items.Add ; ListItem.caption := edtCodigo.text ; ListItem.SubItems.Add(edtDescri.text) ; ListItem.SubItems.Add(edtUn.text); ListItem.SubItems.Add(edtqtde.text); ListItem.SubItems.Add(edtvlr.text); ListItem.SubItems.Add(formatfloat('#,##0.00',Valor_T)); //até aqui esta certo soma := 0 ; for I := 0 to ListView1.Items.Count - 1 do begin with ListView1.Items.Item do begin soma := soma + DBlValue(subItems.Strings[4]) ; end; label20.caption := formatfloat('#,##0.00',soma) ; end; edtCodigo.Clear ; edtDescri.Clear ; edtUn.Clear ; edtQtde.Clear ; edtVlr.Clear ; edtCodigo.setfocus ; end; Abaixo da linha //até aqui esta certo ... se eu colocar: label20.caption := formatfloat('#,##0.00', valor_t), ele joga o valor correto na label .... mas se passar pelo calculo do listView da o erro de ponto flutuante !!!!!!