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

Definizione

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.

Si applica a

Vedi anche