Skip to content

Instantly share code, notes, and snippets.

@leotada
Forked from zokis/parcelas.py
Last active August 29, 2015 14:24
Show Gist options
  • Save leotada/5d011a7085a4e616e02f to your computer and use it in GitHub Desktop.
Save leotada/5d011a7085a4e616e02f to your computer and use it in GitHub Desktop.
Adicionado método de divisão em parcelas. Dividindo os centavos por cada parcela ou todo o resto em apenas uma.
from decimal import Decimal
from math import floor
def parcelas(valor, n, div=True):
formato = Decimal('0.00')
valor = Decimal(valor)
if div:
parcela = Decimal(floor(valor * 100 / n) / 100).quantize(formato)
else:
parcela = Decimal(floor(valor / n)).quantize(formato)
if parcela * n < valor:
parcelas = [parcela] * (n - 1)
parcelas.append((valor - sum(parcelas)).quantize(formato))
else:
parcelas = [parcela] * n
return parcelas
ps = parcelas(8.57, 4, False)
print (ps)
print (sum(ps))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment