Share via


Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metodo

Definizione

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.

Si applica a

Vedi anche