[firebase-br] FireBird Computed By calculando errado

Mauricio Rufino da Costa Rufino mauricio_terere em hotmail.com
Ter Set 5 12:32:57 -03 2006


Boa tarde galera. Estou mais uma vez precisando da ajuda de vocês que sempre 
estão nos surpreendendo com seus conhecimentos sobre o Fire. Tenho um 
problema que acho que muitos de vocês já passaram por ele é que espero ter 
tido solução, pois eu já não sei o que fazer.
Galera gostaria de saber se os campos COMPUTI BY calculam corretamente seus 
valores a serem mostrados no mesmo.
É que recetemente estou fazendo um pequeno sistema, mas que armazena valores 
grandes e que são feitos cálculos e este precisam de exatidam em seus 
decimais pois, como os valores são muito grandes os decimais no cálculo 
final dá diferenças grandes e que a empresa não aceita.
Estou enviando um exemplo da estrutura da tabela para que vc's me ajudem.
CREATE TABLE TB_TESTE2 (
    ID                  INTEGER NOT NULL,
    VALOR_BRUTO         NUMERIC(10,2),
    DEDUCOES            NUMERIC(10,2),
    VALOR_LIQUIDO       NUMERIC(10,2),
    VALOR_RECEBIDO      NUMERIC(10,2),
    SALDO               COMPUTED BY (CAST((VALOR_LIQUIDO - VALOR_RECEBIDO) 
AS NUMERIC(10,2))),
    PERCENTUAL_BRUTO    COMPUTED BY (CAST((DEDUCOES / VALOR_BRUTO) AS 
DECIMAL(18,7))),
    PERCENTUAL_LIQUIDO  COMPUTED BY (CAST((1 - PERCENTUAL_BRUTO) AS 
DECIMAL(18,7))),
    SALDO_BRUTO         COMPUTED BY (CAST((SALDO / PERCENTUAL_LIQUIDO) AS 
NUMERIC(10,2)))
);
Tenten fazer os cálculos dos computed by e vejam as diferenças no resultado. 
Já tentei com Float, decimal, mas não tem jeito de dar ceto mesmo.
Boa sorte para vocês galera, espero que vocês me enviem reposta. Obrigado e 
abraço a todos.
Maurício R. Costa.

_________________________________________________________________
Chegou o Windows Live Spaces com rede social. Confira 
http://spaces.live.com/





Mais detalhes sobre a lista de discussão lista