Fórum Problemas com campo Float #50952

10/05/2005

0

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

Responder

Posts

11/05/2005

Edilcimar

arredonde o número antes de salvar


Responder

Gostei + 0

11/05/2005

Vinicius2k

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+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar