Arrendondamento de valores

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Paulao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 09 Jul 2004 11:03
Localização: Franca
Contato:

Arrendondamento de valores

Mensagem 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
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem 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
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem 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...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
clebermano
Usuário Nível 3
Usuário Nível 3
Mensagens: 187
Registrado em: 03 Out 2004 12:39
Contato:

Mensagem por clebermano »

muito boa esta.. ehehhehe
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem por Augusto »

clebermano escreveu:muito boa esta.. ehehhehe
Isso foi um elogio ou o quê ??
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
clebermano
Usuário Nível 3
Usuário Nível 3
Mensagens: 187
Registrado em: 03 Out 2004 12:39
Contato:

Mensagem 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:
Vastec - Automacao Comercial Ltda - Ribeirao Preto - SP. (16)3968-2299-(16)8154-7828 (16)8121-4139
msn: suporte@clebermano.com.br - email: clebermanorp@yahoo.com.br
Quem nao vive pra servir nao serve pra viver !
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Mensagem 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...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Responder