StrFloat só para os FERAS mesmo
27/02/2003
0
txtpedagio.Text:= formatfloat(´#,,0.00´,StrtoFloat(txtpedagio.text));
bom tudo blz digito qq valor no txtpedagio, tipo 30,00 , 32,32 , 23,56 e assim por diante mais se eu digitar qq coisa que tenha ponto tipo ,
1.234,55 dá pau por causa desse ponto , alguém sabe uma solução .....
Anonymous
Posts
27/02/2003
Louzada
DecimalSeparator:= ´,´;
27/02/2003
Anonymous
27/02/2003
Michael
o Delphi não trabalha com pontos (.) para expressar casas de milhares nos números. O número 1.000 para o Delphi é 1000, 1.234,50 é 1234,50. Por isso qdo vc usa a função StrToFloat, ele gera um erro.
Solução: Não use pontos, ou melhor, use uma função para retirar todos os caracteres inválidos antes de atribuir o valor à função StrToFloat.
Espero ter ajudado!
Michael :D
27/02/2003
Anonymous
É muito simples, apenas não digite o ponto.
27/02/2003
Anonymous
o que fazer entaum, naum digito o (.) ponto, entaum como fica um valor tipo 120345,00 assim ? ou tenho outro solução ?
27/02/2003
Fred
Float não aceita ponto(.)
27/02/2003
Jose Bonardi
27/02/2003
Anonymous
27/02/2003
Lfernandos
Eu concordo com o que os colegas escreveram acima.
Usar decimalseparator, digitar sem pontos, etc.
Acho que estas duas rotinas irá ajudar vc.
//Esta só aceita números, vírgula e Backspace
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in [´0´..´9´,´,´,#8]) then
Abort;
end;
//Ao perder o foco o texto do edit é formatado
procedure TForm1.Edit1Exit(Sender: TObject);
begin
Edit1.Text := FormatFloat(´,,0.00´,StrtoFloat(Edit1.Text));
end;
Severnini
Clique aqui para fazer login e interagir na Comunidade :)