Kegan 0 Denunciar post Postado Outubro 22, 2009 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
Lancellotte 0 Denunciar post Postado Outubro 22, 2009 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
Mário Monteiro 179 Denunciar post Postado Novembro 5, 2009 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
Geovane Velmer 0 Denunciar post Postado Novembro 5, 2009 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
Kegan 0 Denunciar post Postado Novembro 10, 2009 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