calculo com round nao dando certo

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

calculo com round nao dando certo

Mensagem por porter »

ola pessoal, no calculo abaixo, fazendo uma comparação entre dois valores ele esta considerando diferente mesmo os valores dos calculos, sendo iguais, fiz o teste pelo debugador, e realmente os valores sao iguais comparando um com o outro, o que há de errado com essa rotina ?

Código: Selecionar todos

// estou verificando se o valor a pagar + desconto é igual a valor - japagou

IF ( ROUND(vr_a_pagar,2) + ROUND(cdesconto,2) ) = ( ROUND(RCVALOR,2) - ROUND(RCJAPAGOU,2) )
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

calculo com round nao dando certo

Mensagem por alxsts »

Olá!

Não conseguiu tirar nenhum aprendizado do outro tópico que você postou sobre o assunto?
[]´s
Alexandre Santos (AlxSts)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

calculo com round nao dando certo

Mensagem por porter »

ola alxstx, estou usando o Round(var,2) conforme sugeriram os colegas.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

calculo com round nao dando certo

Mensagem por alxsts »

Olá!

Tente calcular antes de comparar:

Código: Selecionar todos

IF ( ROUND(vr_a_pagar + cdesconto,2) = ROUND(RCVALOR + RCJAPAGOU,2) )
[]´s
Alexandre Santos (AlxSts)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

calculo com round nao dando certo

Mensagem por porter »

obrigado alxsts, dessa forma deu certo.
Responder