Condividi tramite


Funzione Rate

Aggiornamento: novembre 2007

Restituisce un valore Double in cui è specificato il tasso di interesse per periodo di una rendita.

Function Rate( _
   ByVal NPer As Double, _
   ByVal Pmt As Double, _
   ByVal PV As Double, _
   Optional ByVal FV As Double = 0, _
   Optional ByVal Due As DueDate = DueDate.EndOfPeriod, _
   Optional ByVal Guess As Double = 0.1 _
) As Double

Parametri

  • NPer
    Obbligatorio. Valore Double che specifica il numero totale di periodi di pagamento della rendita. Nel caso di un prestito di durata complessiva di 4 anni da restituire con rate mensili, il numero totale dei periodi di pagamento sarà 4 * 12 = 48.

  • Pmt
    Obbligatorio. Valore Double che specifica la rata da pagare per ciascun periodo. Le rate sono in genere costituite da un capitale e da un interesse che rimangono invariati fino al termine del periodo dei pagamenti.

  • PV
    Obbligatorio. Valore Double che specifica il valore attuale di una serie di entrate o uscite future. L'importo di un prestito corrisponde al valore attuale delle rate mensili che verranno pagate.

  • FV
    Facoltativo. Valore Double che specifica il valore futuro o il saldo in contanti richiesto dopo avere effettuato il pagamento finale. Nel caso di un prestito, il valore futuro sarà 0, a indicare che tutti i pagamenti sono stati effettuati. Nel caso di un programma di risparmio, il valore futuro corrisponderà all'importo che si è deciso di accantonare per il periodo specificato. Se l'argomento viene omesso, verrà utilizzato il valore 0.

  • Due
    Facoltativo. Oggetto di tipo Enumerazione DueDate in cui viene indicata la scadenza delle rate. Utilizzare DueDate.EndOfPeriod se le rate sono in scadenza al termine del periodo, DueDate.BegOfPeriod se le rate sono in scadenza all'inizio del periodo. Se l'argomento viene omesso, verrà utilizzato il valore DueDate.EndOfPeriod.

  • Guess
    Facoltativo. Valore Double che specifica il valore che si prevede venga restituito da Rate. Se omesso, Guess corrisponderà a 0,1 (10%).

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

ArgumentException

5

NPer <= 0.

Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.

Note

Una rendita consiste in una serie di pagamenti costanti effettuati in un determinato periodo di tempo. Può trattarsi di un prestito, ad esempio un mutuo fondiario, oppure di un investimento, ad esempio un programma di risparmio mensile.

Per tutti gli argomenti, le uscite (ad esempio i depositi per risparmi) vengono indicate con numeri negativi e le entrate (ad esempio gli interessi attivi) con numeri positivi.

La funzione Rate viene calcolata per iterazione. A partire dal valore di Guess, la funzione Rate viene calcolata fino a ottenere un risultato con approssimazione pari a 0,00001%. Se dopo 20 tentativi non si ottiene alcun risultato, la funzione Rate avrà esito negativo. Se la stima corrisponde al 10% e Rate ha esito negativo, effettuare un nuovo tentativo assegnando un diverso valore a Guess.

Esempio

Nell'esempio riportato di seguito la funzione Rate viene utilizzata per calcolare il tasso di interesse di un prestito specificando il numero totale di rate (TotPmts), l'importo della rata del prestito (Payment), il valore attuale o il capitale del prestito (PVal), il valore futuro del prestito (FVal), un numero che indica se le rate sono in scadenza all'inizio o al termine del periodo (PayType) e un'approssimazione del tasso di interesse previsto (Guess).

Sub TestRate()
    Dim PVal, Payment, TotPmts, APR As Double
    Dim PayType As DueDate

    ' Define percentage format.
    Dim Fmt As String = "##0.00"
    Dim Response As MsgBoxResult
    ' Usually 0 for a loan.
    Dim FVal As Double = 0
    ' Guess of 10 percent.
    Dim Guess As Double = 0.1
    PVal = CDbl(InputBox("How much did you borrow?"))
    Payment = CDbl(InputBox("What's your monthly payment?"))
    TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
    Response = MsgBox("Do you make payments at the end of the month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100

    MsgBox("Your interest rate is " & Format(CInt(APR), Fmt) & " percent.")
End Sub

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Modulo:**Financial

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Riepilogo degli elementi finanziari

ArgumentException