Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí hodnotu určující splátku jistiny pro dané období anuity na základě pravidelných pevných plateb a pevné úrokové sazby.
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
Parametry
- Rate
- Double
Required. Úroková sazba za období. Například když máte půjčku na auto s roční průměrnou sazbou nákladů (RPSN) 10 procent a splácíte ji každý měsíc, sazba za období je 0,1/12 neboli 0,0083.
- Per
- Double
Required. Platební období v rozsahu 1 až NPer.
- NPer
- Double
Required. Celkový počet platebních období v anuitě. Pokud například provedete měsíční splátky čtyřleté půjčky na auto, vaše půjčka má celkem 4 x 12 (nebo 48) platebních období.
- PV
- Double
Required. Aktuální hodnota řady budoucích plateb nebo příjmů. Když si například půjčíte peníze na nákup auta, částka půjčky představuje současnou hodnotu pro věřitele měsíčních plateb za auto, které budete provádět.
- FV
- Double
Optional. Budoucí hodnota nebo peněžní zůstatek, který chcete mít po provedení konečné platby. Například budoucí hodnota půjčky je \$0, protože je její hodnota po konečné splátce. Pokud ale chcete ušetřit \50 000 dolarů za 18 let pro vzdělání vašeho dítěte, pak \$50,000 je budoucí hodnota. Pokud argument vynecháte, jako jeho hodnota se bude předpokládat 0.
- Due
- DueDate
Optional. Objekt typu DueDate , který určuje, kdy jsou platby splatné. Tento argument musí být buď DueDate.EndOfPeriod v případě, že jsou platby splatné na konci platebního období, nebo DueDate.BegOfPeriod pokud jsou platby splatné na začátku období. Pokud tento parametr vynecháte, DueDate.EndOfPeriod předpokládá se.
Návraty
Splátka jistiny za dané období anuity na základě pravidelných pevných plateb a pevné úrokové sazby.
Výjimky
Per
<=0 nebo Per>NPer.
Příklady
Tento příklad používá PPmt funkci k výpočtu, kolik plateb za určité období je jistina, když všechny platby mají stejnou hodnotu. Jedná se o úrokovou procentní sazbu za období (APR / 12), platební období, pro které je hlavní část žádoucí (Period), celkový počet splátek (TotPmts), současnou hodnotu nebo jistinu půjčky (PVal), budoucí hodnotu půjčky (FVal) a číslo, které určuje, zda je splátka splatná na začátku nebo na konci platebního období (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
Poznámky
Anuita představuje řadu hotovostních plateb v pevné výši prováděných za určité časové období. Anuita může být půjčka (třeba hypotéka na nemovitost) nebo investice (jako je plán měsíčních úspor).
Argumenty Rate musí NPer být vypočítány pomocí platebních období vyjádřených ve stejných jednotkách. Pokud je například Rate vypočítán pomocí měsíců, NPer musí být také vypočítán pomocí měsíců.
Pro všechny argumenty je platba v hotovosti (například vklady na úspory) reprezentována zápornými čísly; přijaté hotovosti (například výplaty dividend) jsou reprezentovány kladnými čísly.