Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een waarde die de hoofdsombetaling aangeeft voor een bepaalde periode van een annuïteit op basis van periodieke vaste betalingen en een vast rentepercentage.
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
Parameters
- Rate
- Double
Required. Het rentepercentage per periode. Als u bijvoorbeeld een autolening neemt met een jaarlijkse rente van 10 procent en per maand betaalt, bedraagt de rente per periode 0,1/12, oftewel 0,0083.
- Per
- Double
Required. De betalingsperiode in het bereik 1 tot en met NPer.
- NPer
- Double
Required. Het totale aantal betalingsperioden in de annuïteit. Als u bijvoorbeeld maandelijkse betalingen verricht op een autolening van vier jaar, heeft uw lening in totaal 4 x 12 (of 48) betalingsperioden.
- PV
- Double
Required. De huidige waarde van een reeks toekomstige betalingen of ontvangsten. Wanneer u bijvoorbeeld geld leent om een auto te kopen, is het geleende bedrag de huidige waarde voor de verstrekker van de lening.
- FV
- Double
Optional. De toekomstige waarde of het gewenste saldo nadat u de laatste betaling hebt gedaan. De toekomstige waarde van een lening is bijvoorbeeld \$0 omdat dat de waarde is na de laatste betaling. Als u echter \$50.000 meer dan 18 jaar wilt besparen voor het onderwijs van uw kind, is \$50.000 de toekomstige waarde. Als dit argument wordt weggelaten, wordt 0 als standaardwaarde gebruikt.
- Due
- DueDate
Optional. Object van het type DueDate dat aangeeft wanneer betalingen verschuldigd zijn. Dit argument moet zijn DueDate.EndOfPeriod als betalingen aan het einde van de betalingsperiode moeten worden voldaan of DueDate.BegOfPeriod als betalingen aan het begin van de periode moeten worden voldaan. Als u dit weglaat, DueDate.EndOfPeriod wordt ervan uitgegaan.
Retouren
De hoofdsombetaling voor een bepaalde periode van een annuïteit op basis van periodieke vaste betalingen en een vast rentepercentage.
Uitzonderingen
Per
<=0 of Per>NPer.
Voorbeelden
In dit voorbeeld wordt de PPmt functie gebruikt om te berekenen hoeveel van een betaling voor een bepaalde periode principal is wanneer alle betalingen een gelijke waarde hebben. Opgegeven zijn het rentepercentage per periode (APR / 12), de betalingsperiode waarvoor het hoofdgedeelte is gewenst (Period), het totale aantal betalingen (TotPmts), de huidige waarde of hoofdsom van de lening (PVal), de toekomstige waarde van de lening (FVal) en een getal dat aangeeft of de betaling moet worden voldaan aan het begin of einde van de betalingsperiode (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
Opmerkingen
Een annuïteit is een reeks vaste contante betalingen gedurende een specifieke periode. Een annuïteit kan een lening zijn (bijvoorbeeld een hypotheek) of een investering (bijvoorbeeld een maandelijks spaarplan).
De Rate en NPer argumenten moeten worden berekend met behulp van betalingsperioden uitgedrukt in dezelfde eenheden. Als Rate bijvoorbeeld wordt berekend met behulp van maanden, NPer moet ook worden berekend met behulp van maanden.
Voor alle argumenten wordt contant betaald (zoals stortingen op spaargelden) vertegenwoordigd door negatieve getallen; ontvangen bedragen (zoals dividendcontroles) worden vertegenwoordigd door positieve getallen.