Erro em arredondamento - Só no Windows 2000 Pro

16/08/2004

0

Pessoal,

nao sei , mas meu sistema esta arredondando , ou seja, nao esta batendo qdo faz multiplicacao.

Exemplo:
1.96 * 2
o resultado tem que ser 3.92, mas o sistema esta calculando 3.93 no meu cliente !!!! o que pode ser ?
fiz um teste em meu computador (win98) e deu certo ..., as maquinas de meu cliente sao comWin2000Pro ... sera q tem alguma coisa haver ?

Na config do BDE tem alguma coisa q eu possa checar ?

Uso D.4 c/ Paradox.

Obr

[b:6f0e2be9d5][color=red:6f0e2be9d5]Título editado pelo Moderador (AZ)[/color:6f0e2be9d5][/b:6f0e2be9d5]


Scandolara

Scandolara

Responder

Posts

16/08/2004

Gabriel Ferrarini

Não sei a solição pr seu problema, mas passo por algo parecido e meu cliente também usa o Win2000.

Tenho um componente TEdit que trabalha que tem uma propriedade chamada Value. Esse valor é dividido em várias partes através de porcentagens. Depois de arredondadas e somadas as partes em uma variável, seu valor bate com o Value do componente. Conferido pelo Debug -> Inspect. Mas meu executável acusa diferença no valor. No Win98 funciona perfeitamente.

A única diferença que notei entre a variável e a propriedade Value é o tipo. A variável é real e a propriedade é Extended.


Responder

19/08/2004

Aroldo Zanela

Colega,

Estou chegando atrasado à mensagem, mas se possível, coloque um fragmento do código para gente entender melhor. Fiz alguns testes aqui com os valores informados e utilizando todos os tipos reais e não apresentou problemas. Testei numa máquina com Windows2000Pro!


Responder

19/08/2004

Ipc$

Já passei por isso também, só que meu problema era que no banco o valor estava com várias decimais ao invés de 2.
Solucionei dessa forma:
Valor := Trunc(Valor * 100) / 100;
Com isto, no banco ficou com 2 decimais.


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