[firebase-br] Problemas com arredondamento.,
    Joao Marcos 
    unixkiller em gmail.com
       
    Qui Abr  2 10:23:26 -03 2009
    
    
  
Bom dia Pessoal,
 Estou com um grande DILEMA, acho que os colegas poderiam me ajudar a resolver..
Adotando  mv.valor_unitario = 31,41 e mv.quantidade = 0,466
Utilizando a notação abaixo, truncando com 2 casas decimais....
 udf_truncdec((mv.valor_unitario * mv.quantidade),2) as total
assumindo os valores a seguir, obtenho os resultados:
 valor_unitario = 31,41     e quantidade = 0,466   obtenho = 14,63
 valor_unitario = 2,90    e quantidade = 3            obtenho =  8,69
            ( Não sei o por quê, mas deveria ser 8,70 pois o valor é
exato)
 valor_unitario = 69,00     e quantidade = 0,120   obtenho = 8,27
Porém, truncando com 3 casas decimais, obtenho:
 valor_unitario = 31,41     e quantidade = 0,466   obtenho = 14,637
 valor_unitario = 2,90    e quantidade = 3            obtenho =  8,700
 valor_unitario = 69,00     e quantidade = 0,120   obtenho = 8,280
O problema é:
No delphi, esses valores, utilizando as 3 casas decimais
vão para:
 valor_unitario = 31,41     e quantidade = 0,466   obtenho = 14,64
 valor_unitario = 2,90    e quantidade = 3            obtenho =  8,700
 valor_unitario = 69,00     e quantidade = 0,120   obtenho = 8,280
PROBLEMA:
 valor_unitario = 69,00     e quantidade = 0,120   obtenho = 8,27
 Qual a razão disso?? Já que o resultado não nos dá uma dízima maior
que duas casas? O valor correto é 8,28.
Porém
-- 
João Marcos Santos da Silva
    Analista de Sistemas
(71) 8737-5888 / (71) 3313-8730
    
    
Mais detalhes sobre a lista de discussão lista