Problemas com retorno de um valor
Estou utilizando o Firebird 2.5 e tenho o seguinte problema que está me vencendo.
Tenho um SP onde lá eu calculo totais de itens e acumulo os valores para me retornar o valor total das mercadorias.
É uma conta muito facil, tenho 01 item e um valor unitário 76,60, obviamente que o total "seria" 76,60, mas não fica, sempre aparece no total 76,59.
Então fiz algo muito louco assim:
dentro do select coloquei: ((c.qtitem * c.vlunitario) * 100) as Total_item
e depois assim:
total_item = trunc(total_item, 0);
total_item = (total_item / 100);
Beleza, depurando deu certo, passa para o total o valor 76,60, isso dentro da SP, mas quando passo o resultado para a minha aplicação e tabela, ele continua enviando 76,59.
E eu não sei mais o que fazer...
Os tipos de campo são Double Precision.
Se alguem puder me dar um dica.
Tenho um SP onde lá eu calculo totais de itens e acumulo os valores para me retornar o valor total das mercadorias.
É uma conta muito facil, tenho 01 item e um valor unitário 76,60, obviamente que o total "seria" 76,60, mas não fica, sempre aparece no total 76,59.
Então fiz algo muito louco assim:
dentro do select coloquei: ((c.qtitem * c.vlunitario) * 100) as Total_item
e depois assim:
total_item = trunc(total_item, 0);
total_item = (total_item / 100);
Beleza, depurando deu certo, passa para o total o valor 76,60, isso dentro da SP, mas quando passo o resultado para a minha aplicação e tabela, ele continua enviando 76,59.
E eu não sei mais o que fazer...
Os tipos de campo são Double Precision.
Se alguem puder me dar um dica.
Cristiano
Curtidas 0
Respostas
Marisiana Battistella
14/02/2014
Olá Moacir!
Já tentou utilizar a função ROUND quando é realizado o cálculo?
Por exemplo: select ROUND(((c.qtitem * c.vlunitario) * 100), 2) as Total_item
Já tentou utilizar a função ROUND quando é realizado o cálculo?
Por exemplo: select ROUND(((c.qtitem * c.vlunitario) * 100), 2) as Total_item
GOSTEI 0
Alex Lekao
14/02/2014
Eu iria sugerir usar o padrao Numeric no lugar de Double Precision.
Alem desta Opcao Round. rssr
Alem desta Opcao Round. rssr
GOSTEI 0
Cristiano
14/02/2014
Obrigado pela ajuda Marisiana e Alex, juntei as duas coisas que me passaram e enfim deu certo!
GOSTEI 0
Marisiana Battistella
14/02/2014
Por nada Moacir! =)
GOSTEI 0
Alex Lekao
14/02/2014
Blz...
Precisando eh so falar.
Abraco.
Precisando eh so falar.
Abraco.
GOSTEI 0