Financial.IPmt(Double, Double, Double, Double, Double, DueDate) 方法

定义

返回一个值,该值基于等额分期付款和固定利率指定年金在给定期间的支付利息。

public static double IPmt (double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member IPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function IPmt (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

参数

Rate
Double

必需。 每期的利率。 例如,如果您的汽车贷款的年利率 (APR) 为 10%,按月还款,则每期利率为 0.1/12(即 0.0083)。

Per
Double

必需。 1 到 NPer.范围内的支付周期。

NPer
Double

必需。 年金付款总期数。 例如,如果您的汽车贷款的期限为四年,按月还款,则这笔贷款共有 4 * 12(即 48)个支付周期。

PV
Double

必需。 未来一系列支出或收入的现值。 例如,如果您贷款买车,贷款额就是您将以按月还款的方式付给贷方的现值。

FV
Double

可选。 完成最后一次付款后所希望的终值或现金余额。 例如,贷款的终值为 0,这是因为终值是末期还款之后的价值。 但是,如果您想用 18 年的时间存储 $50,000 作为孩子的教育经费,则 $50,000 是终值。 如果省略,则假定为 0。

Due
DueDate

可选。 DueDate 类型的对象指定付款何时到期。 如果在付款期末付款,则此参数必须为 DueDate.EndOfPeriod;如果在付款期初付款,则此参数必须为 DueDate.BegOfPeriod。 如果省略,则假定为 DueDate.EndOfPeriod

返回

基于等额分期付款和固定利率的给定周期的支付利息。

例外

Per<= 0 或 Per>NPer

示例

此示例使用 IPmt 函数计算当所有付款值相等时,付款的利息金额。 给定每个期 (APR / 12) 的利率百分比, 所需的利息部分 (Period) 的付款期、 () TotPmts 的付款总数、贷款 (PVal) 的现值或本金、贷款 (FVal) 的未来价值,以及指示付款期的开始或结束时是否到期的数字 (PayType) 。

Sub TestIPMT()
    Dim APR, PVal, Period, IntPmt, TotInt, TotPmts As Double
    Dim PayType As DueDate
    Dim Response As MsgBoxResult

    ' Usually 0 for a loan.
    Dim Fval As Double = 0
    ' Define money format.
    Dim Fmt As String = "###,###,##0.00"
    PVal = CDbl(InputBox("How much do you want to borrow?"))
    APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
    If APR > 1 Then APR = APR / 100 ' Ensure proper form.
    TotPmts = CInt(InputBox("How many monthly payments?"))
    Response = MsgBox("Do you make payments at end of the month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    For Period = 1 To TotPmts   ' Total all interest.
        IntPmt = IPmt(APR / 12, Period, TotPmts, -PVal, Fval, PayType)
        TotInt = TotInt + IntPmt
    Next Period

    ' Display results.
    MsgBox("You will pay a total of " & Format(TotInt, Fmt) & 
        " in interest for this loan.")
End Sub

注解

年金是一系列随时间推移而支付的固定现金付款。 年金可以是贷款 (,如住房抵押贷款) 或投资 (如每月储蓄计划) 。

RateNPer 参数必须使用以相同单位表示的付款期限进行计算。 例如,如果 Rate 是使用月份计算的, NPer 则还必须使用月数进行计算。

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

适用于

另请参阅