Financial.Rate(Double, Double, Double, Double, DueDate, Double) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳一個指定年金每期利率的價值。
public static double Rate(double NPer, double Pmt, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod, double Guess = 0.1);
static member Rate : double * double * double * double * Microsoft.VisualBasic.DueDate * double -> double
Public Function Rate (NPer As Double, Pmt As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod, Optional Guess As Double = 0.1) As Double
參數
- NPer
- Double
Required. 年金的總付款期間數。 舉例來說,如果您按月償還為期四年的汽車貸款,那麼貸款總付款期數會是 4 * 12 (或 48)。
- Pmt
- Double
Required. 每個期間都要支付的款項。 付款通常會包含本金和利息,並且不會隨年金的期限變化。
- PV
- Double
Required. 即一系列未來付款或收款的現值,或今日價值。 例如,當你借錢買車時,貸款金額就是你每月汽車還款的現值。
- FV
- Double
Optional. 你在支付最後一筆款項後想要的未來價值或現金餘額。 例如,貸款的未來價值為 \$0,因為這是最終還款後的價值。 然而,如果你想在18年內為孩子存下50,000美元,那麼50,000美元就是未來的價值。 如果沒有指定,會假設為 0。
- Due
- DueDate
Optional. 指定付款到期時間的物件 DueDate 。 這個論點必須是 DueDate.EndOfPeriod 付款是在付款期間結束時到期,或 DueDate.BegOfPeriod 是付款在該期間開始時到期。 若省略, DueDate.EndOfPeriod 則視為假定。
- Guess
- Double
Optional. 你估計的值會由 回傳。Rate 若省略, Guess 則為0.1(10%)。
傳回
年金的每期利率。
例外狀況
NPer
<= 0。
範例
本範例使用函 Rate 數計算貸款利率,條件為總還款次數(TotPmts)、貸款還Payment款金額()、貸款現值或本金(PVal)、貸款未來價值(FVal)、表示付款是在還款期開始或結束時到期的數字(),PayType 以及期望利率的近似值(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
備註
年金是指一段時間內,一系列的固定現金付款活動。 年金可能是一筆貸款 (例如房屋貸款) 或投資 (例如每月存款計劃)。
對於所有引數,付出的現金 (例如要儲蓄的存款金額) 是由負數表示;收入的現金 (例如股利支票) 是由正數表示。
Rate 是透過迭代計算。 從 的 Guess值開始, Rate 會循環計算,直到結果準確度在 0.00001% 以內。 若 Rate 嘗試20次仍無法找到結果,則為失敗。 如果你猜 10% Rate 但失敗了,可以嘗試換個值。Guess