[firebase-br] RES: RES: Erro de Arredondamento

Wesley Oliveira wesley em rgsystem.com.br
Ter Jan 14 13:22:06 -03 2014


Eu tive um problema semelhante há alguns dias.. mas dentro do próprio
delphi, antes de passar pro BD...
Eu faço o rateio de uma despesa e na hora de salvar o lançamento, eu comparo
o valor informado com o total rateado, pois se estiver dando diferença não
pode aceitar até ser acertado.

O fato é que usando o .AsFloat pra assinalar os valores divididos e
multiplicados, no final eu comparando os dois valores cheios mostrava pra
mim: Informado: 1000, Rateado: 1000.

Mas quando fazia o "if (Informado <> Rateado) then" sempre caia na condição
e ao debugar, vi que no .AsFloat ele jogava o valor ARREDONDADO com RoundTo
-2, por exemplo: 63,2500000001

Troquei todos os .AsFloat por .AsCurrency e o arredondamento começou a
funcionar do jeito que deveria!

Wesley Oliveira
Programador de Sistemas de Informação
RG System Informática
Fone:     +55 (27)  3727-1127
Celular:  +55 (27) 99606-0038

-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Alisson Santos -
Union Tecnologia da Informação
Enviada em: terça-feira, 14 de janeiro de 2014 13:14
Para: 'FireBase'
Assunto: [firebase-br] RES: Erro de Arredondamento

Fiz o insert direto e realmente deu certo, provavelmente é o componente que
estou utilizando e que está passando diferente o tipo de dados.
Provavelmente enviando float.




  
Alisson Aparecido dos Santos
Desenvolvedor de Sistemas
D     55 (14) 3263-3637 – Lençóis Paulista - SP
      55 (17) 2932-1912 – São José Rio Preto - SP
5     55 (21) 4063-8312 – Rio de Janeiro - RJ
Cel:   55 (14) 981350822 - Tim
  alisson em uniontecnologia.com.br
www.uniontecnologia.com.br                    

                                 




-----Mensagem original-----
De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Marcelo Geyer
Enviada em: terça-feira, 14 de janeiro de 2014 12:03
Para: bragaped em gmail.com; FireBase
Assunto: Re: [firebase-br] Erro de Arredondamento

Já tentou simular fazendo o comando INSERT diretamente no banco de dados?
Seu problema provavelmente está do lado do componente do delphi


Em 14 de janeiro de 2014 11:57, Pedro Braga <bragaped em gmail.com> escreveu:

> Alisson,
> Qual o Tipo de Dados que está no componente do Delphi se está passando 
> via paramByName está setando o tipo de dados que o parametro ira 
> receber qual está informando?
> Tive problema desse tipo quando o tipo de dados estava como Float no 
> delphi e no banco numeric, bastou remover os fields e adicionar 
> novamente que foi adicionado como BCD se não me engano e o problema 
> foi solucionado faça esse teste.
>
> Em 14/01/2014 11:54, Alisson Santos - Union Tecnologia da Informação
> escreveu:
>
>  Numeric(10,4)
>> Estou com a aplicação em Delphi e estou passando o valor correto para 
>> o delphi, mais quando vai gravar no banco está arredondando para ,16.
>> Li um artigo até que informa que cálculo do firebird é igual a 
>> calculadoras financeiras mais fiz de tudo que encontrei e não 
>> consegui resolver o problema.
>>
>>
>>
>>
>>    Alisson Aparecido dos Santos
>> Desenvolvedor de Sistemas
>> D     55 (14) 3263-3637 – Lençóis Paulista - SP
>>        55 (17) 2932-1912 – São José Rio Preto - SP
>> 5     55 (21) 4063-8312 – Rio de Janeiro - RJ
>> Cel:   55 (14) 981350822 - Tim
>>    alisson em uniontecnologia.com.br
>> www.uniontecnologia.com.br
>>
>>
>>
>>
>>
>> -----Mensagem original-----
>> De: lista [mailto:lista-bounces em firebase.com.br] Em nome de Pedro 
>> Braga Enviada em: terça-feira, 14 de janeiro de 2014 11:33
>> Para: FireBase
>> Assunto: Re: [firebase-br] Erro de Arredondamento
>>
>> Qual o Tipo de Dados da Coluna?
>>
>> Em 14/01/2014 11:30, Alisson Santos - Union Tecnologia da Informação
>> escreveu:
>>
>>> Bom dia pessoal.
>>>
>>>
>>> Estou tendo um problema de arredondamento.
>>>
>>> Estou passando para o banco de dados o valor de 161944,15 e o mesmo 
>>> está gravando o valor de 161944,16.
>>>
>>> Alguém pode me auxiliar?
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>> --
>> Pedro E. Braga
>> Programador
>> (18) 99737-0810 Vivo
>> (18) 98144-3939 Claro
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
> --
> Pedro E. Braga
> Programador
> (18) 99737-0810 Vivo
> (18) 98144-3939 Claro
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br 
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



--
Marcelo E. Geyer
Standard Net Tecnologia e Informação
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista