[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