[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