Fórum Problema com Ponto Flutuante (Interbase DBExpress) #235112

30/05/2004

0

Pessoal...
to com o seguinte problema... eu tenho um campo float... e estou querendo gravar um valor do tipo ´0,1´...
qdo ele grava o ´0,1´ no campo... e salva depois... olho na base estah com lixo... ´0,1000000462...´ como eu posso resolver isso???
jah tentei forçar um roundto... pra arredondar na qtidade de casas decimais que eu quero e nada...

Obrigado,
Kiguti


Kiguti

Kiguti

Responder

Posts

17/06/2004

Marfred

sobe...


Tenho a mesma duvida....


Responder

Gostei + 0

17/06/2004

Christian_adriano

Olha kiguti,

em vez de usar o campo do tipo ´Float´ usar como ´Double Presicion´;

e para utiliza-lo faça o seguinte.

with SQLQuery do
begin
Close;
SQL.Clear;
SQL.Add(´INSERTO INTO tabela (campo) ´);
SQL.Add(´values (:valor) ´);
Params[0].asFloat := StrToFLoat(EdtValor.Text);
ExecSQL;
end;

Onde ´:valor´ vai ser o parametro para a inserção do valor no banco de dados. E ´Params[0].asFloat ´, Qual é o paramentro (q é 0, pois soh tem um parametro) e propriedade dele (asFloat).

Usando dessa forma, se vc digitar 12,6554
ele vai gravar exatamente ´12,6554´.

Espero ter ajudado...


Responder

Gostei + 0

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

Aceitar