Fórum is not a valid floating point value. O que quer dizer????? #332654
04/11/2006
0
Eis o código:
procedure TformPedidos.fldDim1Exit(Sender: TObject);
var
realDim1:real;
begin
inherited;
realDim1:= StrToFloat(fldDim1.Text);//Acrescenta zeros no campo
fldDim1.Text:= formatfloat(´#,0.00´,realDim1);
Vitor5
Curtir tópico
+ 0Posts
04/11/2006
Mahdak
aqui seu procedimento funcionou, verifique se voce nao está digitando algum caractere que nao seja numero ou virgula, ou mesmo mais de uma virgula. lembrando que pontos tambem nao sao válidos nesse caso. para isso te aconselho a fazer um tratamento no OnKeyPress do edit para checar essas particularidades... voce poderia fazer algo assim:
// Apenas Numeros
If not( key in[´,´,´.´,´0´..´9´,8] ) then
begin
beep;{somente delphi 2.0 ou >}
key:=0;
end;
// ponto decimal
if Key in [´,´,´.´] then Key := DecimalSeparator;
boa sorte
Gostei + 0
05/11/2006
Vitor5
O tipo de campo está como varchar, poderia ser isto???
Gostei + 0
05/11/2006
Titanius
no inicio do programa
DecimalSeparator := ´,´;
Pois pro delphi, o ponto ´ . ´ é que é o separador decimal, a vígula ´ , ´ é separador de milhar...
[]s
Gostei + 0
05/11/2006
Vitor5
Como ficaria isto, pois preciso trabalhar com medidas?? Ex: 100,20 ou 10,50 ou mesmo 0,30. O campo está com varchar e preciso acrecentar zeros depois da virgula. Gostaria que ao digitasse 2,2 ele me trouxesse 2,20 e assim por diante. Obrigado
Gostei + 0
06/11/2006
Titanius
begin DecimalSepartor := ´,´; ...
Lembrando de adicionar o SysUtils, na uses (acho que este mesmo).
Pois bem, pra fazer o cálculo, basta você pegar os dados assim:
TabelaCAMPO.AsFloat;
ou
Tabela.FieldByName(´CAMPO´).AsFloat;
[]s
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)