Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve um valor que especifica o pagamento do principal para um dado período de uma anuidade, com base em pagamentos fixos periódicos e uma taxa de juro 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
Required. A taxa de juro por período. Por exemplo, se obter um empréstimo automóvel a uma taxa percentual anual (APR) de 10 por cento e efetuar pagamentos mensais, a taxa por período é 0,1/12 ou 0,0083.
- Per
- Double
Required. O período de pagamento está no intervalo de 1 a NPer.
- NPer
- Double
Required. O número total de períodos de pagamento na anuidade. Por exemplo, se fizer pagamentos mensais num empréstimo automóvel de quatro anos, o seu empréstimo tem um total de 4 períodos de pagamento de 12 x 12 (ou 48).
- PV
- Double
Required. O valor atual de uma série de pagamentos ou receitas futuras. Por exemplo, quando pede dinheiro emprestado para comprar um carro, o valor do empréstimo é o valor atual para o credor dos pagamentos mensais de carros que vai fazer.
- FV
- Double
Optional. O valor futuro ou saldo em dinheiro que pretende depois de efetuar o pagamento final. Por exemplo, o valor futuro de um empréstimo é \$0 porque esse é o seu valor após o pagamento final. No entanto, se quiser poupar $50.000 ao longo de 18 anos para a educação do seu filho, então \$50.000 é o valor futuro. Se for omitido, é assumido 0.
- Due
- DueDate
Optional. Objeto de tipo DueDate que especifica quando os pagamentos são devidos. Este argumento deve ser ou DueDate.EndOfPeriod se os pagamentos forem devidos no final do período de pagamento, ou DueDate.BegOfPeriod se os pagamentos forem devidos no início do período. Se for omitido, DueDate.EndOfPeriod assume-se.
Devoluções
O pagamento principal para um determinado período de uma anuidade baseado em pagamentos fixos periódicos e uma taxa de juro fixa.
Exceções
Per
<=0 ou Per>NPer.
Exemplos
Este exemplo utiliza a PPmt função para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos têm o mesmo valor. Em causa estão a taxa de percentagem de juros por período (APR / 12), o período de pagamento para o qual a parte principal é pretendida (Period), o número total de pagamentos (TotPmts), o valor atual ou o principal 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 fim 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
Observações
Uma anuidade é uma série de pagamentos fixos em dinheiro efetuados durante um período de tempo. Uma anuidade pode ser um empréstimo (como uma hipoteca de casa) ou um investimento (como um plano de poupanças 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 deve ser calculado usando meses.
Para todos os argumentos, o dinheiro pago (como depósitos em poupanças) é representado por números negativos; O dinheiro recebido (como cheques de dividendos) é representado por números positivos.