Fórum Algoritimo para dividir e arredondar parcelas #226098

15/04/2004

0

Pessoal estou com um problema para desenvolver umalgoritimo que divida parcelas, arredondando os valores em centavos somente na primeira parcela, algo mais ou menos assim:

Tenho a seguinte rotina

Procedure Parcelas(ValordaCompra:Real;NumerodeParcelas:integer;var PrimeiraParcela:Real; var Parcelas:Real);
begin
   //desta forma se obtem o valor das parcelas desprezando os centavos
Parcelas:=Trunc(ValordaCompra/NumerodeParcelas);
   //obtendo o valor da primeira parcela
PrimeiraParcela:=ValordaCompra-(Parcelas*(NumerodeParcelas-1));
end;

Ela funciona legal quando o valor é inteiro mas quando tenho algo como
[b:d139d0a030]140,90 dividido em 4 vezes[/b:d139d0a030]
Ele retorna da 1º parcela o valor de 35,90 ficando assim as parcelas:
[b:d139d0a030]1º 35,90
2º 34,70
3º 34,70
4º 34,70[/b:d139d0a030]
O que eu gostaria que ele fizesse é assim:
[b:d139d0a030]1º 38,00
2º 34,00
3º 34,00
4º 34,00[/b:d139d0a030]
Alguém poderia me dar uma luz?
Desde já agradeço
Fausto

Fausto


Faustoalves

Faustoalves

Responder

Post mais votado

15/04/2004

Amigo, Tem Muitas MAneiras De Resolver Isto...Mas eu so Quero Chamar a Atenção Para o Que Voce Esta Propondo:
140,90 dividido em 4 vezes

Neste caso impreterivelmente voce tem que ter Pelo Menos uma parcela com Centavos...Sera Que ao Inves de Escrever 140,90 Voce Não Quis Se Referir a 140,00 ...Porque a Soma Dos Valores Que Voce Passou Para Nos Dá 140,00 E Não 140,90 :?: :?:

140,90 dividido em 4 vezes


Ele retorna da 1º parcela o valor de 35,90 ficando assim as parcelas: 1º 35,90 2º 34,70 3º 34,70 4º 34,70

[b:5251eb7aa6]35,90+34,70+34,70+34,70 = 140,00 e não 140,90[/b:5251eb7aa6]
O que eu gostaria que ele fizesse é assim: 1º 38,00 2º 34,00 3º 34,00 4º 34,00

[b:5251eb7aa6]38,00 + 34,00+ 34,00 + 34,00 = 140 e não 140,90[/b:5251eb7aa6]
Resta para nós( Eu Não, Que Vou Viajar Neste Momento) Saber Precissamente O Quer Deseja ...[b:5251eb7aa6]Mas Lembre-se, se o Valor Inicial Tiver Centavos, Pelo Menos Uma Das Parcelas Tem Que Englobar Os Centavos[/b:5251eb7aa6]


Marco Salles

Marco Salles
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar