Fórum Armazenar número de edit num campo Float #500423

06/11/2014

0

Boa noite caros colegas,


Coloquei no OnExit de um Edit, o seguinte código:

Try
EdtLimite.Text := FormatCurr('#,0.00',(StrToFloat(EdtLimite.Text)));
Except
ShowMessage(FMenu_.Operador.Caption+', algum caractere inválido foi digitado. Favor verificar.');
EdtLimite.SetFocus;
end;

O Objetivo é que ao digitar um número qualquer, automaticamente ele seja convertido para um formato monetário e, se for digitado alguma caractere do tipo texto, uma mensagem será fornecida ao usuário.

Porém na hora de armazenar o conteúdo do Edit na tabela, aparece a seguinte mensagem de erro:

'1.175,00' is not a valid floating point value

O comando que estou usando para armazenar o valor é o seguinte:
dm_.ZQryClientes.Append;
{ ... }
dm_.ZQryClienteslimite.Value := StrToCurr(EdtLimite.Text);
{ ... }
dm_.ZQryClientes.Post;

Será que alguém pode me passar um dica de como fazer para se evitar este erro e conseguir armazenar com êxito o conteúdo do Edit que está no formulário?


Desde já agradeço a todos.
Aloisio Santos

Aloisio Santos

Responder

Posts

07/11/2014

Wanderson Cortes

Cara tenta assim:

[img]http://arquivo.devmedia.com.br/forum/imagem/359444-20141107-100151.png[/img]
Responder

Gostei + 0

07/11/2014

Douglas

Olá Pro-Luck, complementando a resposta do nosso amigo Wanderson. O erro seu erro só está sendo gerado, devido a vírgula no valor: "1.175,00". Ao ser executado o procedimento passado pelo Wanderson, a função StringReplace irá trocar tudo que estiver com vírgula para ponto.

Espero ter contribuído para o seu conhecimento. Um abraço!
Responder

Gostei + 0

08/11/2014

Aloisio Santos

Deu certo sim, mas não foi preciso tirar a vírgula. Se ela for trocada por ponto, gera o mesmo erro.
Acabou ficando assim:

[img]http://arquivo.devmedia.com.br/forum/imagem/233649-20141108-130145.jpg[/img]

Desde já, muito obrigado a todos.


Tópico encerrado. ;)
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar