Problemas com campo Float

Firebird

10/05/2005

Olá!

Eu tenho um aplicativo para controle de estoque onde utilizo campos do tipo float para guardar a quantidade do produto.

O problema ocorre quando preciso multiplicar este campo por um outro campo também float. O Firebird (1.5) gera como valor para o campo um número muito grande com várias casas decimais e o pior é que errado.

Por exemplo: Tinha um produto zerado no estoque. Dei entrada de 2 caixas, cada uma contendo 2,23 do produto. Logo a quantidade que deveria entrar para a tabela deveria ser 4,46 mas quando vou ver na tabela, o número que aparece é: 4,46000003814697.

Desde já agradeço...


Delphi32

Delphi32

Curtidas 0

Respostas

Edilcimar

Edilcimar

10/05/2005

arredonde o número antes de salvar


GOSTEI 0
Vinicius2k

Vinicius2k

10/05/2005

Colega,

Os tipos FLOAT e DOUBLE PRECISION servem exatamente para o que vc não quer: Alta precisão.

Para valores com poucos decimais e fixos, utilize os tipos NUMERIC(p,e) ou DECIMAL(p,e). Estes são os tipos ideais para armazenar valores e quantidades.

T+


GOSTEI 0
POSTAR