Números decimais
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.
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
Curtidas 0
Respostas
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
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
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.
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
23/02/2008
O Result deve ser do tipo DOUBLE.
Quanto à conversão, use ´Edit1.text := formatfloat(´#,,0.00000´, RESULT);´
Vlw´s
Quanto à conversão, use ´Edit1.text := formatfloat(´#,,0.00000´, RESULT);´
Vlw´s
GOSTEI 0
Cps.art
23/02/2008
Valeu obrunno.
Agradeço a todos pela colaboração.
Agradeço a todos pela colaboração.
GOSTEI 0