Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.