Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

1. Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/09/2019 - 16:57h

Pessoal tenho quase pronto minha calculadora completa com porcentagem para Linux,entretanto o botão porcentagem não está funcionando,por exemplo:

1000 x 18 (aperta o botão de %) era para dar 180 (Mas dá outro resultado)

vejam o link do código fonte do meu programa no pastebin:

https://pastebin.com/KTD7SLLN


  


2. MELHOR RESPOSTA

Matheus
pylm

(usa Gentoo)

Enviado em 29/09/2019 - 17:37h

Desconheço linguagem que aceite o % como indicador de percentual.
Então simplesmente divida o valor por 100 e multiplique.


1000 * (18/100)


3. Re: Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

Leandro Silva
LSSilva

(usa Outra)

Enviado em 29/09/2019 - 17:14h

Tenta com:

(valor1*valor2)/100


4. Re: Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/09/2019 - 17:19h

LSSilva escreveu:

Tenta com:

(valor1*valor2)/100


Obrigado,mas deu 3.24,será que tenho que fazer o calculo com cada operador por exemplo:Adição,divisão etc..?



5. Re: Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

Leandro Silva
LSSilva

(usa Outra)

Enviado em 29/09/2019 - 17:27h

Desenvolvedor escreveu:

LSSilva escreveu:

Tenta com:

(valor1*valor2)/100


Obrigado,mas deu 3.24,será que tenho que fazer o calculo com cada operador por exemplo:Adição,divisão etc..?


Não olhei muito a fundo o código, mais pode ser problema com alguma variável. Com relação a respeitar os operadores, usando parênteses, você cria esta ordem.

Quando trabalho com percentual, gosto muito de usar multiplicação (vai entender...)

Então:

18% de 1000 = 1000*0,18
Se quiser acrescentar 18% a 1000, então seria: 1000*1,18.




6. OK

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/09/2019 - 17:41h

Acho que o problema era o botão resultado ( = ) faltava o seguinte código:

if tipoconta ='porcentagem' then
begin
valor2:=strtofloat(edit1.text);
valor1:=valor1*valor2/100;
Edit1.text:=floattostr(valor1);
end;

Está quase certo só falta alguns detalhes no botão porcentagem.


7. Re: Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2019 - 14:22h

pylm escreveu:

Desconheço linguagem que aceite o % como indicador de percentual.
Então simplesmente divida o valor por 100 e multiplique.


1000 * (18/100)


Já achei o problema,o problema para mim e que não sei a tabuada,mas entendo logica de programação:

veja:

valor1*valor2/100=3.24
1000x18(aperto no botão %) e a calculadora resulta em 3.24(É como se ela fizesse 18000x18000=324000000/100=3.24
Entretanto para dar a porcentagem o calculo de cima tem que dar 180.
Como faço isso?




8. Re: Não estou conseguindo fazer porcentagem no Lazarus [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/09/2019 - 15:47h

pylm escreveu:

Desconheço linguagem que aceite o % como indicador de percentual.
Então simplesmente divida o valor por 100 e multiplique.


1000 * (18/100)

Já podem fechar o tópico,resolvido,solucionei sozinho,só tive que armazenar os dados do botão multiplicação no botão porcentagem,ficando assim:


procedure TForm1.Button13Click(Sender: TObject);

var resultado:real;

begin

if tipoconta ='multiplicação' then
begin

valor2:=strtofloat(edit1.text);
resultado:=valor1*valor2/100;
Edit1.text:=FloatToStr(resultado);
Label1.Caption:='%';

end;
end;








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts