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
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)