Erro em tipo Extended

15/08/2003

0

Estou desenvolvendo uma calculadora em delphi e uso uma variável global - Tot - do tipo extended como totalizador.

O problema: em algumas operações, quando o resultado deve ser zero, ela me mostra o valor -5.145...E,-17. Este problema ocorre somente com alguns números.

Exemplo: digito 223.87 + 324.17. O total é: 548.04. Então, diminuo este valor dele mesmo e ao invés de zero, tenho
5.55111...E-17.

Se eu digito 101.74 + 103.45 - 205.19 o total é zero e tenho como retorno exatamente zero.

Tentei jogar o valor de Tot para variável auxiliar + 10. Mesmo quando ocorre o problema a variável auxiliar me apresenta valor = 10 (0+10 = 10). Porém, se uso comando // if auxliar = 10 then // o programa não entende auxiliar = 10.

Já tentei no delphi 5 e 7, com variáveis também do tipo Double mas o problema persistiu.

Consegui ´solucionar´ enviando o valor de tot para uma string e retornando esta string para tot novamente.

O que posso fazer para solucionar/entender o que está ocorrendo?

Grato


Multinfo

Multinfo

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar