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
Gerekli. Dönem başına faiz oranı. Örneğin, yıllık yüzde 10 oranıyla otomobil kredisi aldıysanız ve aylık ödemeler yapıyorsanız, dönem başına oran 0,1/12 veya 0,0083 olur.
- Per
- Double
Gerekli. 1 ile NPeraralığındaki ödeme dönemi.
- NPer
- Double
Gerekli. Ö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
Gerekli. Gelecekteki bir dizi ödemenin veya makbuzun geçerli değeri. Örneğin, araba satın almak için ödünç para aldığınızda, kredi tutarı, kredi verene yapacağınız aylık araba ödemelerinin bugünkü değeridir.
- FV
- Double
Optional. Son ödemeyi yaptıktan sonra istediğiniz gelecekteki değer veya nakit bakiyesi. Örneğin, son ödemeden sonraki değeri bu olduğundan, bir kredinin gelecekteki değeri \$0'dır. Ancak, çocuğunuzun eğitimi için 18 yıl boyunca \$50.000 tasarruf etmek istiyorsanız, gelecekteki değer \$50.000'dir. Atlanırsa, varsayılan değer olarak 0 kullanılır.
- Due
- DueDate
Optional. Ödemelerin ne zaman ödendiğini belirten tür nesnesi DueDate . Bu bağımsız değişken, ödemelerin ödeme döneminin sonunda yapılması veya ödemelerin dönemin DueDate.EndOfPeriod başında yapılması durumunda olmalıdırDueDate.BegOfPeriod. Atlanırsa, DueDate.EndOfPeriod varsayılır.
Döndürülenler
Dönemsel sabit ödemelere ve sabit faiz oranına göre 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şlevi kullanılır. Dönem başına faiz yüzdesi oranı (APR / 12), asıl bölümün istendiği ödeme dönemi (Period), toplam ödeme sayısı (TotPmts), kredinin bugünkü değeri veya anaparası (PVal), kredinin gelecekteki değeri (FVal) ve ödemenin ödeme dönemininPayType başında mı yoksa sonunda mı () ödendiğini gösteren bir sayı verilmiştir.
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 ödeme, belirli bir süre boyunca yapılan sabit nakit ödemeleri serisidir. Yıllık ödeme, ev ipoteği gibi bir borç veya aylık tasarruf planı gibi bir yatırım olabilir.
ve Rate bağımsız değişkenleri, NPer aynı birimlerde ifade edilen ödeme dönemleri kullanılarak hesaplanmalıdır. Örneğin, aylar kullanılarak hesaplanıyorsa Rate aylar NPer kullanılarak da hesaplanmalıdır.
Tüm bağımsız değişkenler için ödenen nakit (tasarrufa yapılan depozitolar gibi) negatif sayılarla temsil edilir; alınan nakit (kar payı çekleri gibi) pozitif sayılarla temsil edilir.