Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kegan

[Resolvido] comparação entre dois números reais

Recommended Posts

Olá pessoal!

 

Estou enfrentando um erro curioso.

 

Durante o processamento de um programa, realizo uma comparação entre dois números reais, sendo um deles, uma soma entre dois números de ponto flutuante.

 

Simplificando, funciona da seguinte forma:

 

variável A recebe um numero real.

variável B recebe um numero real.

variável C recebe um numero real.

 

Aqui as variáveis são truncadas para possuírem apenas 2 casas decimais.

 

variável D recebe B + C.

 

Se variável A > D então

aciona erro.

 

Debuguei, verifiquei os valores das variáveis durante o processamento. Na hora da comparação, os valores são iguais porém estão caindo no erro.

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que o erro esta ocorrendo na hora de truncar para duas casas

na hora de comparar ele deve estar comparando todas as casas decimais

 

Envie seu código

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro exatamente?

 

post este trecho de código e o que deseja ter como resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você trunca os valores ?

já tentou formatalos

 

ex: FormatFloat('###.###.##0,00',cValor);

 

ou algo assim ..

tem como passar o código pra gente ver ?

ficaria mais facil de entender seu problema !

Aguardo !

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

 

Então, acabei solucionando com uma gambiarra que deu certo.

Joguei os valores pra variáveis do tipo currency antes de comparar.

Eu sei que é gambiarra, mas foi o unico jeito de fazer funcionar...

 

Obrigado pela ajuda pessoal, desculpem pela demora para responder. Havia me esquecido deste tópico...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.