Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dönemsel sabit ödemelere ve sabit faiz oranına göre belirli bir yıllık ödeme dönemi için ana para ödemesini belirten bir değer döndürür.
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
Parametreler
- Rate
- Double
Gereklidir. Dönem başına faiz oranı. Örneğin, yüzde 10 yıllık faiz oranıyla (APR) bir otomobil kredisi alır ve aylık ödemeler yaparsanız, dönem başına faiz 0,1/12 veya 0,0083 olur.
- Per
- Double
Gereklidir. 1 ile NPer
arasında ödeme dönemi.
- NPer
- Double
Gereklidir. Ödemedeki toplam ödeme dönemi sayısı. Örneğin, dört yıllık araba kredisi üzerinden aylık ödemeler yapıyorsanız, kredinizin toplam 4 x 12 (veya 48) ödeme dönemi vardır.
- PV
- Double
Gereklidir. Gelecekteki bir dizi ödemenin veya makbuzun geçerli değeri. Örneğin, bir araba satın almak için borç aldığınızda, borç miktarı, borç verene yapacağınız aylık araba ödemelerinin mevcut değeridir.
- FV
- Double
İsteğe bağlı. Son ödemeyi yaptıktan sonra istediğiniz gelecekteki değer veya nakit bakiyesi. Örneğin, son ödemeden sonraki değeri olduğundan, bir borcun gelecekteki değeri 0 TL'dir. Ancak, çocuğunuzun eğitimi için 18 yıl üzerinden 50.000 TL tasarruf yapmak istiyorsanız, 50.000 TL gelecekteki değer olur. Atlanırsa, 0 olduğu varsayılır.
- Due
- DueDate
İsteğe bağlı. Ödemelerin ne zaman ödendiğini belirten tür DueDate nesnesi. Bu bağımsız değişken, ödemeler ödeme döneminin sonunda yapılacaksa veya DueDate.BegOfPeriod
ödemeler dönemin başında yapılacaksa olmalıdırDueDate.EndOfPeriod
. Atlanırsa, DueDate.EndOfPeriod
varsayılır.
Döndürülenler
Dönemsel sabit ödemeler ve sabit faiz oranı temelinde belirli bir yıllık ödeme dönemi için ana para ödemesi.
Özel durumlar
Per
<=0 veya Per
>NPer
.
Örnekler
Bu örnekte, tüm ödemeler eşit değere PPmt
sahip olduğunda belirli bir dönem için ödemenin ne kadarının ana para olduğunu hesaplamak için işlevini kullanır. Dönem başına faiz yüzdesi oranı (APR / 12
), anapara kısmının istendiği ödeme dönemi (), toplam ödeme sayısı (Period
TotPmts
), kredinin bugünkü değeri veya anaparası (PVal
), kredinin gelecekteki değeri ( ve ödemenin ödeme döneminin başında mı yoksa sonunda mı ödeneceğini gösteren bir sayıdırFVal
(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
Açıklamalar
Yıllık taksit, bir dönem içinde yapılan bir dizi sabit nakit ödemelerdir. Bir yıllık taksit, bir kredi (örneğin, bir ev ipotek) veya (örneğin aylık tasarruf planı) yatırım olabilir.
ve NPer
bağımsız değişkenleri, Rate
aynı birimlerde ifade edilen ödeme dönemleri kullanılarak hesaplanmalıdır. Örneğin, aylar kullanılarak hesaplanıyorsa Rate
, NPer
aylar kullanılarak da hesaplanmalıdır.
Tüm bağımsız değişkenler için ödenen nakit (tasarrufa yatırılan paralar gibi) negatif sayılarla temsil edilir; alınan nakit (kar payı çekleri gibi) pozitif sayılarla temsil edilir.