Página 1 de 1

Arrendondamento de valores

Enviado: 18 Jan 2005 23:11
por Paulao
Ola pessoal, estou com um problema de arrendondamento de valores, acorre que o sistema divide o valor do pedido pelo numero de parcelas, mas qdo o cliente paga o valores divididos ,ao se somar da uma difernça de centavos, como fazer pra não ocorrer esta diferença?

Grande abralo a todos

Enviado: 19 Jan 2005 00:26
por Clipper
Prezado Colega

O que acontece é que nem sempre uma divisão é exata, quando ele não é extata existem as dizimas e a soma destas precisa ser colocada em uma das parcelas.

Exemplo : Valor total = 257,00 dividido por 3 = 85,66
Porém se mutiplicarmos 85,66 x 3 = 256,68
Desta forma haverá uma diferença de 2 centavos

O que você pode fazer é descobrir quanto é o resto da divisão e então colocá-lo em uma das parcelas, geralmente a 1ª ou na última.
Você poderia fazer assim, vamos supor :

//VALORTOTAL=257,00
//PARCELA1=85,66
//PARCELA2=85,66
//PARCELA3=85,66

RESTO=VALORTOTAL-(PARCELA1+PARCELA2+PARCELA3)

// RESTO 0,02

PARCELA1+=RESTO

// PARCELA1=85,68

// Agora seria 85,68 + 85,66 + 85,66 = 257,00

Deu para entender ?

Até logo.

Marcelo

Enviado: 19 Jan 2005 12:49
por Augusto
Ex:
vParc = vOrig / qParc
vTemp = vParc * (qParc-1)
vUltParc = vOrig - vTemp

Dessa forma não é necessário se preocupar com arredondamentos ou se o vOrig é divisível pela qParc sem deixar restos...

Enviado: 20 Jan 2005 15:22
por clebermano
muito boa esta.. ehehhehe

Enviado: 20 Jan 2005 15:29
por Augusto
clebermano escreveu:muito boa esta.. ehehhehe
Isso foi um elogio ou o quê ??

Enviado: 20 Jan 2005 15:51
por clebermano
elogio ué.. q mais achou q fosse????
gostei da forma que a funcao foi escrita....
:cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool:

Enviado: 20 Jan 2005 18:23
por Augusto
clebermano escreveu:elogio ué.. q mais achou q fosse????
gostei da forma que a funcao foi escrita....
:cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool: :cool:
(Y) Thanks...