Array
(
)

Arredondamento de Preços - Que não fere os direitos do consu

Sistemp
   - 29 nov 2005

Duvida sobre o arredondamento de preços, sem ferir os direitos do consumidor..


Um produto custa R$ 2.95 e o cliente esta levando 1.03 Kg

Valor Total = 2,95 * 1,03 = R$ 3,0385

Quando deve ser cobrado do cliente? R$ 3,03 ou 3,04 ?

Se for R$ 3,03, qual funcao uso para nao arredondar para cima nem para baixo no delphi ?


Edilcimar
   - 29 nov 2005

se usar round é feito arredondamento onde valor >= 5 joga para cima e <5 joga para baixo, se usar trunc sempre joga pra baixo


Dopi
   - 29 nov 2005

Sistemp,

No comercio em geral, o arredondamento sempre foi o mais utilizado, porém os novos ECFs (Emissor de Cupom Fiscal) apenas Truncam, seguindo uma determinação do Fisco...

[url=http://www.forumweb.com.br/foruns/index.php?showtopic=24274]Mais informações sobre truncamento no ECF[/url]


Emerson
   - 29 nov 2005

para arredondar retornando os decimais, utilize RoundTo() - unit math.

usar o arredondamento bancário é totalmente aceitável, onde valores menores que 5 são mantidos e de cinco pra cima são arredondados ´para cima´.

por exemplo:
R$ 3,0385 -> R$ 3,04
R$ 3,0349 -> R$ 3,03

então,
RoundTo(3.0385,-2) -> 3.04
RoundTo(3.0349,-2) -> 3.03

mas se você quiser truncar os decimais:
Trunc(3.0385 * 100) / 100 -> 3.03
Trunc(3.0349 * 100) / 100 -> 3.03