Erro em arredondamento - Só no Windows 2000 Pro
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]
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
Curtidas 0
Respostas
Gabriel Ferrarini
16/08/2004
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.
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.
GOSTEI 0
Aroldo Zanela
16/08/2004
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!
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!
GOSTEI 0
Ipc$
16/08/2004
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.
Solucionei dessa forma:
Valor := Trunc(Valor * 100) / 100;
Com isto, no banco ficou com 2 decimais.
GOSTEI 0