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 por um determinado período de anuidade com base em pagamentos fixos periódicos e 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
Required. A taxa de juros por período. Por exemplo, se você receber um empréstimo de carro a uma taxa percentual anual (APR) de 10% e fazer pagamentos mensais, a taxa por período será de 0,1/12 ou 0,0083.
- Per
- Double
Required. O período de pagamento no intervalo de 1 a NPer.
- NPer
- Double
Required. O número total de períodos de pagamento na anuidade. Por exemplo, se você fizer pagamentos mensais em um empréstimo de quatro anos, seu empréstimo terá um total de 4 x 12 (ou 48) períodos de pagamento.
- PV
- Double
Required. O valor atual de uma série de pagamentos ou recibos futuros. Por exemplo, quando você pega dinheiro emprestado para comprar um carro, o valor do empréstimo é o valor presente para o credor dos pagamentos mensais do carro que você fará.
- FV
- Double
Optional. O valor futuro ou saldo em caixa que você deseja depois de fazer 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 você quiser economizar \$50.000 em 18 anos para a educação do seu filho, então \$50.000 é o valor futuro. Se omitido, 0 será assumido.
- Due
- DueDate
Optional. Objeto do tipo DueDate que especifica quando os pagamentos são vencidos. Esse argumento deve ser DueDate.EndOfPeriod se os pagamentos forem vencidos no final do período de pagamento ou DueDate.BegOfPeriod se os pagamentos forem vencidos no início do período. Se omitido, DueDate.EndOfPeriod será assumido.
Retornos
O pagamento principal por um determinado período de anuidade com base em pagamentos fixos periódicos e 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. Dados são a taxa de 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 atual ou a entidade 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 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) ou um investimento (como um plano de poupança mensal).
Os Rate argumentos e os NPer argumentos devem ser calculados usando os 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 na poupança) é representado por números negativos; O dinheiro recebido (como cheques de dividendos) é representado por números positivos.