Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar ett värde som anger kapitalbeloppet för en annuitetsperiod baserat på periodiska fasta betalningar och en fast räntesats.
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
Parametrar
- Rate
- Double
Required. Räntesatsen per period. Om du t.ex. tar ett billån med en årlig räntesats (APR) på 10 procent och gör månatliga betalningar, är räntan per period 0,1/12, alltså 0,0083.
- Per
- Double
Required. Betalningsperioden i intervallet 1 till NPer.
- NPer
- Double
Required. Det totala antalet betalningsperioder i annuiteten. Om du till exempel gör månatliga betalningar på ett fyraårigt billån har ditt lån totalt 4 x 12 (eller 48) betalningsperioder.
- PV
- Double
Required. Det aktuella värdet för en serie framtida betalningar eller intäkter. När du till exempel lånar pengar för att köpa en bil är lånebeloppet det nuvarande värdet för långivaren av de månatliga bilbetalningar du kommer att göra.
- FV
- Double
Optional. Det framtida värde eller det kontantsaldo du vill ha när du har gjort den slutliga betalningen. Till exempel är det framtida värdet för ett lån \$0 eftersom det är dess värde efter den slutliga betalningen. Men om du vill spara \$50 000 över 18 år för ditt barns utbildning är \$50 000 det framtida värdet. Om inget värde anges används automatiskt värdet 0.
- Due
- DueDate
Optional. Objekt av typen DueDate som anger när betalningar förfaller. Det här argumentet måste vara antingen DueDate.EndOfPeriod om betalningarna förfaller i slutet av betalningsperioden eller DueDate.BegOfPeriod om betalningarna förfaller i början av perioden. Om det utelämnas DueDate.EndOfPeriod antas det.
Returer
Kapitalbeloppet för en annuitetsperiod som baseras på periodiska fasta betalningar och en fast räntesats.
Undantag
Per
<=0 eller Per>NPer.
Exempel
I det PPmt här exemplet används funktionen för att beräkna hur mycket av en betalning för en viss period som är huvudkonto när alla betalningar har samma värde. Givet är räntesatsen per period (APR / 12), den betalningsperiod för vilken kapitaldelen är önskad (Period), det totala antalet betalningar (TotPmts), nuvärdet eller kapitalbeloppet för lånet (PVal), lånets framtida värde (FVal) och ett tal som anger om betalningen förfaller i början eller slutet av betalningsperioden (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
Kommentarer
En annuitet är en serie konstanta betalningar över en sammanhängande period. En annuitet kan vara ett lån (t.ex. ett huslån) eller en investering (t.ex. en plan för månatligt sparande).
Argumenten Rate och NPer måste beräknas med betalningsperioder uttryckta i samma enheter. Om till exempel Rate beräknas med hjälp av månader NPer måste även beräknas med hjälp av månader.
För alla argument representeras kontant betalning (till exempel inlåning till sparande) av negativa siffror. mottagna kontanter (t.ex. utdelningskontroller) representeras av positiva siffror.