Compartilhar via


Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Método

Definição

Retorna um valor que especifica o pagamento principal em um determinado período de uma anuidade com base em pagamentos fixos periódicos e em uma taxa de juros fixa.

public static double PPmt (double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member PPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function PPmt (Rate As Double, Per As Double, NPer As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double

Parâmetros

Rate
Double

Obrigatórios. A taxa de juros por período. Por exemplo, se você conseguir um empréstimo para compra de um carro com uma APR (taxa anual de percentual) de 10% e efetuar pagamentos mensais, a taxa por período será de 0,1/12 ou 0,0083.

Per
Double

Obrigatórios. O período de pagamento no intervalo de 1 a NPer.

NPer
Double

Obrigatórios. O número total de períodos de pagamento na anuidade. Por exemplo, se você efetuar pagamentos mensais em um empréstimo de quatro anos para compra de carro, seu empréstimo terá um total de 4 x 12 (ou 48) períodos de pagamento.

PV
Double

Obrigatórios. O valor atual de uma série de pagamentos ou recebimentos futuros. Por exemplo, quando você pede um empréstimo para comprar um carro, o valor do empréstimo é o valor atual para o credor dos pagamentos mensais do carro que serão efetuados.

FV
Double

Opcional. O valor futuro ou o saldo à vista que você deseja ter depois de fazer o pagamento final. Por exemplo, o valor futuro de um empréstimo é US$ 0, porque esse é o valor após o pagamento final. No entanto, se você deseja economizar US$ 50.000 durante 18 anos para a educação de seu filho, o valor futuro é de US$ 50.000. Se omitida, presume-se que seja 0.

Due
DueDate

Opcional. Objeto do tipo DueDate que especifica quando os pagamentos vencem. Esse argumento deverá ser DueDate.EndOfPeriod se os pagamentos vencerem no final do período de pagamento ou DueDate.BegOfPeriod se os pagamentos vencerem no início do período. Se ela for omitida, DueDate.EndOfPeriod será assumido.

Retornos

O pagamento principal em um determinado período de uma anuidade com base em pagamentos fixos periódicos e em uma taxa de juros fixa.

Exceções

Per<=0 ou Per>NPer.

Exemplos

Este exemplo usa a PPmt função para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos são de valor igual. Considerando-se a taxa percentual de juros por período (APR / 12), o período de pagamento para o qual a parte principal é desejada (Period), o número total de pagamentos (TotPmts), o valor presente ou a entidade de segurança do empréstimo (PVal), o valor futuro do empréstimo (FVal) e um número que indica se o pagamento é devido no início ou no final do período de pagamento (PayType).

Sub TestPPMT()
    Dim PVal, APR, TotPmts, Payment, Period, P, I As Double
    Dim PayType As DueDate
    Dim Msg As String
    Dim Response As MsgBoxResult

    ' Define money format.
    Dim Fmt As String = "###,###,##0.00"
    ' Usually 0 for a loan.
    Dim Fval As Double = 0
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    ' Ensure proper form.
    If APR > 1 Then APR = APR / 100
    TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
    Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    Payment = Math.Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
    Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
    Msg = Msg & "Would you like a breakdown of your principal and "
    Msg = Msg & "interest per period?"
    ' See if chart is desired. 
    Response = MsgBox(Msg, MsgBoxStyle.YesNo)
    If Response <> MsgBoxResult.No Then
        If TotPmts > 12 Then MsgBox("Only first year will be shown.")
        Msg = "Month  Payment  Principal  Interest" & Environment.NewLine
        For Period = 1 To TotPmts
            ' Show only first 12.
            If Period > 12 Then Exit For
            P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
            ' Round principal.
            P = (Int((P + 0.005) * 100) / 100)
            I = Payment - P
            ' Round interest.
            I = (Int((I + 0.005) * 100) / 100)
            Msg = Msg & Period & vbTab & Format(Payment, Fmt)
            Msg = Msg & vbTab & Format(P, Fmt) & vbTab & Format(I, Fmt) & Environment.NewLine
        Next Period
        ' Display amortization table.
        MsgBox(Msg)
    End If
End Sub

Comentários

Uma anuidade é uma série de pagamentos em dinheiro fixos feitos durante um período de tempo. Uma anuidade pode ser um empréstimo (como uma hipoteca residencial) ou um investimento (como um plano de poupança mensal).

Os Rate argumentos e NPer devem ser calculados usando períodos de pagamento expressos nas mesmas unidades. Por exemplo, se Rate for calculado usando meses, NPer também deverá ser calculado usando meses.

Para todos os argumentos, o dinheiro pago (como depósitos em poupança) é representado por números negativos; o dinheiro recebido (como cheques de dividendos) é representado por números positivos.

Aplica-se a

Confira também