[firebase-br] Problemas com arredondamento.,
Joao Marcos
unixkiller em gmail.com
Qui Abr 2 22:02:37 -03 2009
Amigos,
Debuguei a UDF e entendi o que estava acontecendo.
É o seguinte...
Quando eu passava um valor para a UDF e este valor já estava dentro
da quantidade de casas decimais que eu queria, acontecia o seguinte:
ex;
udf_fracdec(8.7,2) ( Valor = 8,70 utilizar duas casas decimais)
a udf simplesmente diminuia 1 do último dígito da casa decimal.
O valor acima ficaria 8,69
Porém, se o valor passado estivesse com mais de duas casas decimais, o
valor obtido era CORRETO.
ex:
udf_fracdec(14.637 ,2) ( Valor = 8,70 utilizar duas casas decimais)
O valor retornado seria 14.63.
Solução:
Modifiquei a UDF, criando na verdade uma nova função onde a função
identifica quantas casas decimais o número possui.
Se possuir acima de DUAS casas, ele chama a função de truncamento
do contrário, devolve o mesmo número passado.
Se alguém precisar, estamos aí.
O problema inteiro começou com uma ZORRA de impressora fiscal..
VALEU GENTE, obrigado aos colegas que responderam.
Mais detalhes sobre a lista de discussão lista