Skip to content

Rate

返回一个Double值,指定年金每期的利率。

语法:Rate( nper, pmt, pv [ , fv [ , type [ , guess ] ] ] )

nper
必需 Double,指定年金的总付款期数。例如,四年期汽车贷款的按月付款总期数为4 * 12(即48)期。
pmt
必需 Double,指定每期应付金额。付款通常包含在年金期限内不变的本金和利息。
pv
必需 Double,指定一系列未来付款或收入的现值。例如,贷款买车时,贷款金额就是贷款人未来每月车贷还款的现值。
fv
可选 Variant,指定最终付款后的未来值或现金余额。例如,贷款的未来值为$0,因为这是最终付款后的价值。但如果要在18年内为孩子的教育储蓄$50,000,则$50,000就是未来值。如果省略,则默认为0。
type
可选 Variant,指定付款到期时间。0表示期末付款;1表示期初付款。如果省略,则默认为0。
guess
可选 Variant,指定Rate返回值的估计值。如果省略,guess为0.1(10%)。

年金是在一段时间内进行的一系列固定现金支付。年金可以是贷款(如住房抵押贷款)或投资(如月度储蓄计划)。

对于所有参数,支出的现金(如储蓄存款)用负数表示;收入的现金(如股息支票)用正数表示。

Rate通过迭代计算。从guess的值开始,Rate循环计算直到结果精确到0.00001%以内。如果Rate在20次尝试后仍未找到结果,则计算失败。如果默认的10%失败,请尝试为guess提供不同的值。

示例

本示例使用Rate函数计算贷款利率,提供的参数包括:总付款期数(TotPmts)、贷款付款金额(Payment)、贷款现值或本金(PVal)、贷款未来值(FVal)、指示付款是在期初还是期末到期的数字(PayType)以及预期利率的近似值(Guess)。

vb
Dim Fmt, FVal, Guess, PVal, Payment, TotPmts, PayType, APR
Const ENDPERIOD = 0, BEGINPERIOD = 1    ' When payments are made.
Fmt = "##0.00"    ' Define percentage format.
FVal = 0    ' Usually 0 for a loan.
Guess = .1    ' Guess of 10 percent.
PVal = InputBox("How much did you borrow?")
Payment = InputBox("What's your monthly payment?")
TotPmts = InputBox("How many monthly payments do you have to make?")
PayType = MsgBox("Do you make payments at the end of the month?", _
vbYesNo)
If PayType = vbNo Then PayType = BEGINPERIOD Else PayType = ENDPERIOD
APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100
MsgBox "Your interest rate is " & Format(CInt(APR), Fmt) & " percent."

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有