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 principale per un determinato periodo di annualità in base a pagamenti fissi periodici 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
Required. Tasso di interesse per periodo. Ad esempio, se si ottiene un prestito per l'auto a un tasso percentuale annuo del 10% e si effettuano pagamenti mensili, il tasso di interesse per periodo è 0,1/12 o 0,0083.
- Per
- Double
Required. Periodo di pagamento compreso nell'intervallo compreso tra 1 e NPer.
- NPer
- Double
Required. Numero totale di periodi di pagamento nell'annualità. Ad esempio, se si effettuano pagamenti mensili per un prestito di quattro anni di auto, il prestito ha un totale di 4 x 12 (o 48) periodi di pagamento.
- PV
- Double
Required. Valore corrente di una serie di pagamenti o ricevute future. Ad esempio, quando si prende in prestito del denaro per acquistare un'auto, l'importo del prestito è il valore attuale per il prestatore dei pagamenti mensili dell'auto da effettuare.
- FV
- Double
Optional. Il valore futuro o il saldo in contanti desiderato dopo aver effettuato il pagamento finale. Ad esempio, il valore futuro di un prestito è \$0 perché questo è il valore dopo il pagamento finale. Tuttavia, se vuoi risparmiare \$50.000 oltre 18 anni per l'istruzione del tuo bambino, \$50.000 è il valore futuro. Se omesso, viene usato il valore 0.
- Due
- DueDate
Optional. Oggetto di tipo DueDate che specifica quando sono in scadenza i 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. Se omesso, DueDate.EndOfPeriod si presuppone .
Valori restituiti
Pagamento principale per un determinato periodo di annualità basato su pagamenti fissi periodici e un tasso di interesse fisso.
Eccezioni
Per
<=0 o Per>NPer.
Esempio
In questo esempio viene utilizzata la PPmt funzione per calcolare la quantità di pagamento per un periodo specifico è principale quando tutti i pagamenti sono di valore uguale. Dati sono il tasso di interesse percentuale per periodo (APR / 12), il periodo di pagamento per il quale si desidera la parte principale (Period), il numero totale di pagamenti (TotPmts), il valore attuale o il capitale del prestito (PVal), il valore futuro del prestito (FVal) 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 contanti effettuati in un periodo di tempo. Può essere un prestito (ad esempio un mutuo per la casa) o un investimento (ad esempio un piano di risparmio mensile).
Gli Rate argomenti e NPer devono essere calcolati utilizzando periodi di pagamento espressi nelle stesse unità. Ad esempio, se Rate viene calcolato utilizzando mesi, NPer è necessario calcolare anche i mesi.
Per tutti gli argomenti, i pagamenti in contanti (ad esempio i depositi al risparmio) sono rappresentati da numeri negativi; la cassa ricevuta (ad esempio i controlli dividendi) è rappresentata da numeri positivi.