GARANTIR DESCONTO

Fórum is not a valid floating point value. O que quer dizer????? #332654

04/11/2006

0

Tenho um campo em meu form onde no evento onexit criei um código para acrescentar zeros Ex: 0,2 ele converte para 0,20 ou 3 ele converte para 3,00. Será que o erro que está dando é referente a este código???
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

Vitor5

Responder

Posts

04/11/2006

Mahdak

Tenho um campo em meu form onde no evento onexit criei um código para acrescentar zeros Ex: 0,2 ele converte para 0,20 ou 3 ele converte para 3,00. Será que o erro que está dando é referente a este código??? 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);


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


Responder

Gostei + 0

05/11/2006

Vitor5

Obrigado por responder, como trabalho com medidas preciso da virgula para meus edits.
O tipo de campo está como varchar, poderia ser isto???


Responder

Gostei + 0

05/11/2006

Titanius

Amigo, tente mudar o DecimalSeparator

no inicio do programa

DecimalSeparator := ´,´;

Pois pro delphi, o ponto ´ . ´ é que é o separador decimal, a vígula ´ , ´ é separador de milhar...


[]s


Responder

Gostei + 0

05/11/2006

Vitor5

Amigo, tente mudar o DecimalSeparator no inicio do programa DecimalSeparator := ´,´; Pois pro delphi, o ponto ´ . ´ é que é o separador decimal, a vígula ´ , ´ é separador de milhar... []s
:oops:
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


Responder

Gostei + 0

06/11/2006

Titanius

Vamos supor: no inicio do programa, no source do DPR:

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


Responder

Gostei + 0

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

Aceitar