Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un valore che specifica il pagamento di capitale per un dato periodo di una annualità in base a pagamenti periodici fissi e a un tasso di interesse fisso.
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
Parametri
- Rate
- Double
Obbligatorio. Tasso di interesse per periodo. Ad esempio, nel caso di un prestito per l'acquisto di un'auto con tasso di interesse annuo del 10% da restituire con pagamenti mensili, il tasso per periodo sarà pari a 0,1/12 ovvero 0,0083.
- Per
- Double
Obbligatorio. Periodo di pagamento nell'intervallo compreso tra 1 e NPer
.
- NPer
- Double
Obbligatorio. Numero totale di periodi di pagamento nell'annualità. Se, ad esempio, si effettuano pagamenti mensili per restituire un prestito quadriennale, i periodi di pagamento totali saranno 48, cioè 4 x 12.
- PV
- Double
Obbligatorio. Valore attuale di una serie di pagamenti o entrate futuri. Ad esempio, quando si richiede un prestito per l'acquisto di un'automobile, l'importo del prestito corrisponde al valore attuale per chi concede il prestito dei pagamenti mensili che verranno effettuati.
- FV
- Double
facoltativo. Valore futuro o il saldo cassa desiderato dopo il pagamento finale. Ad esempio, il valore futuro di un prestito è $0, perché questo è il valore dopo il pagamento finale. Se, invece, si desidera risparmiare $50.000 nell'arco di 18 anni, il valore futuro è pari a $50.000. Se omesso, viene utilizzato il valore 0.
- Due
- DueDate
facoltativo. Oggetto di tipo DueDate che specifica la scadenza dei pagamenti. Questo argomento deve essere DueDate.EndOfPeriod
se i pagamenti sono dovuti alla fine del periodo di pagamento o DueDate.BegOfPeriod
se i pagamenti sono dovuti all'inizio del periodo di pagamento. Se omesso, si presuppone DueDate.EndOfPeriod
.
Restituisce
Pagamento di capitale per un dato periodo di una annualità in base a pagamenti periodici fissi e a un tasso di interesse fisso.
Eccezioni
Per
<=0 o Per
>NPer
.
Esempio
In questo esempio viene utilizzata la funzione per calcolare la PPmt
quantità di pagamento per un periodo specifico quando tutti i pagamenti sono di valore uguale. Dato è il tasso percentuale di interesse per periodo (APR / 12
), il periodo di pagamento per il quale la parte principale è desiderata (Period
), il numero totale di pagamenti (TotPmts
), il valore attuale o l'entità del prestitoPVal
(), il valore futuro delFVal
prestito () e un numero che indica se il pagamento è dovuto all'inizio o alla fine del periodo di pagamento (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
Commenti
Un'annualità è una serie di pagamenti fissi in cassa effettuati in un periodo di tempo. Un'annualità può essere un prestito (ad esempio un mutuo domestico) o un investimento (ad esempio un piano di risparmio mensile).
Gli Rate
argomenti e NPer
devono essere calcolati usando i periodi di pagamento espressi nelle stesse unità. Ad esempio, se Rate
viene calcolato usando mesi, NPer
è necessario calcolare anche i mesi.
Per tutti gli argomenti, i pagamenti in denaro (ad esempio i depositi ai risparmi) sono rappresentati da numeri negativi; la cassa ricevuta (ad esempio i controlli di dividendo) è rappresentata da numeri positivi.