Compartilhar via


Função PPmt

Retorna um Double especificando o pagamento principal para um dado período de uma anuidade baseada em pagamentos periódicos fixos e taxa fixa de juros.

Function PPmt( _
   ByVal Rate As Double, _
   ByVal Per As Double, _
   ByVal NPer As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double

Parâmetros

  • Rate
    Obrigatório.Double Especifica a taxa de juros por período. Por exemplo, se você obtiver um empréstimo de carro com uma taxa percentual anual (APR) de 10 % e fizer pagamentos mensais, a taxa por período é 0,1 / 12, ou 0,0083.

  • Per
    Obrigatório.Double Especifica o período de pagamento no intervalo 1 através de NPer.

  • NPer
    Obrigatório.Double Especifica o número total de períodos de pagamento da anuidade. Por exemplo, se você fizer pagamentos mensais por um empréstimo de carro de quatro anos, o empréstimo terá um total de 4 x 12 (ou 48) períodos de pagamento.

  • PV
    Obrigatório.Double Especifica o valor corrente de uma série de futuros pagamentos ou recebimentos. Por exemplo, quando você pedir dinheiro emprestado para comprar um carro, valor do empréstimo é o valor atual para o credor dos pagamentos mensais do carro que você fará.

  • FV
    Opcional.Double especificando o valor futuro ou o Equilíbrio em dinheiro desejado após você ter feito o pagamento final. Por exemplo, o valor futuro de um empréstimo é $0, porque esse será o valor depois do pagamento.Entretanto, se você quiser economizar $50,000 durante 18 anos para a educação de seu filho, então $50,000 é o valor futuro.Se omitido, 0 será adotado.

  • Due
    Opcional.Objeto do tipo Enumeração DueDate que especifica quando os pagamentos devem ser feitos.Esse argumento deve ser DueDate.EndOfPeriod se os pagamentos devem ser feitos ao final do período de pagamento, ou DueDate.BegOfPeriod se os pagamentos devem ser feitos no início do período.Se omitido, DueDate.EndOfPeriod será adotado.

Exceções

Tipo de exceção

Número de erro

Condição

ArgumentException

5

Per<=0 ou Per > NPer.

Ver a coluna " número de erro " se você estiver atualizando aplicativos Visual Basic 6.0 que usam manipulação de erros não estruturada.(Você pode comparar o número do erro com a Propriedade do Número (Erro de objeto).) Entretanto, quando for possivel, você pode considerar substituir tal controle de erro por Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic.

Comentários

Uma anuidade é uma série de pagamentos fixos em dinheiro feitos em um período de tempo.Uma anuidade pode ser um empréstimo (como uma hipoteca doméstica) ou um investimento (como um plano de economias mensais).

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

Para todos os argumentos, dinheiro gasto (tais como depósitos em poupanças) é representado por números negativos; dinheiro recebido (tais como cheques devedores) é representado por números positivos.

Exemplo

Esse exemplo usa a função PPmt para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos são de valor igual.Dados a taxa percentual de juros por período APR / 12, o período de pagamento para o qual deseja-se a porção principal Period, o número total de pagamentos TotPmts, o valor atual ou principal do empréstimo PVal, o valor futuro do empréstimo FVal, e o número que indica se o pagamento deve ser feito no início ou no fim de um 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" & vbNewLine
        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) & vbNewLine
        Next Period
        ' Display amortization table.
        MsgBox(Msg)
    End If
End Sub

Requisitos

Namespace:Microsoft.VisualBasic

**Módulo:**Financial

Assembly: Visual Basic Runtime Library (em Microsoft.VisualBasic.dll)

Consulte também

Referência

Resumo financeiro

ArgumentException