Números decimais

Delphi

23/02/2008

Parece complicado manipular números decimais em Delphi, mas aí a gente vai ver e é mais complicado do que se imaginava.
Eta saudade do clipper.

O negócio é o seguinte:

1º - Inserir numa Edit um número com 5 casas decimais. Não sei se uso ponto ou virgula.

2º - Definir uma variável que armazene o valor digitado na Edit. Não sei que tipo deve ser (Real, Integer, Float, etc...), e nem sei como converter a string da Edit para o valor que deve ficar nessa varável.

3º - Definir uma variável para um loop tipo ´For´. Essa variável vai ser usada numa operação matemática com a variável do item 2. Parece que o loop For só aceita variável tipo ´integer´ e aí eu não consigo fazer a operação pois a variável do item 2 é de outro tipo.

Seria mais ou menos assim:

- Edit1 -> 1.23456 ou 1,23456

- Var2 := StrTo????(Edit1.Text);

- Var3 -> para o loop

- For Var3 1 to 100 do
Begin
Resultado := Var2 * Var3;
if Resultado = .... then qualquer coisa
end;

Agradeço qualquer ajuda.


Cps.art

Cps.art

Curtidas 0

Respostas

Aasn

Aasn

23/02/2008

Olá camarada,

1) use ´,´ a máscara pode ser assim: #,0.00000

2) use o tipo Real ou Double; para converter use ´var2 := StrToFloat(Edit1.Text)´

p.s. Não use o TEdit para números e sim TRxCalcEdit

3) a variável para o for use o tipo Integer

[]´s
AASN


GOSTEI 0
Cps.art

Cps.art

23/02/2008

Obrigado AASN.

Esqueci um detalhe, a variável Resultado está definida como real e é a multiplicação de var2(definida como Real) por var3(definida como integer), ou seja, a variável Resultado pode estar ora carregada com um numero inteiro, ora com um numero decimal.

Até aí tudo bem, e como faço para converter Real para String para colocar noutra Edit?

Obrigado.


GOSTEI 0
Obrunno

Obrunno

23/02/2008

O Result deve ser do tipo DOUBLE.

Quanto à conversão, use ´Edit1.text := formatfloat(´#,,0.00000´, RESULT);´

Vlw´s


GOSTEI 0
Cps.art

Cps.art

23/02/2008

Valeu obrunno.

Agradeço a todos pela colaboração.


GOSTEI 0
POSTAR