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

定义

返回一个值,它基于未来等额分期付款和固定利率指定年金的现值。

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

NPer
Double

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

Pmt
Double

必需。 每期应付金额。 付款金额通常包含本金和利息,该值在年金的有效期限内都不会改变。

FV
Double

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

Due
DueDate

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

返回

基于未来等额分期付款和固定利率的年金的现值。

示例

在此示例中, PV 函数返回 $1,000,000 年金的现值,该年金将在未来 20 年内每年提供 50,000 美元。 提供的是 () APR 的预期年度百分比、 () TotPmts 付款总数、每笔付款 (YrIncome) 的金额、投资 (FVal) 的未来总价值,以及指示每笔付款是在付款期 PayType 的开始还是结束时 () 的数字。 请注意, YrIncome 是一个负数,因为它表示每年从年金中支付的现金。

Sub TestPV()
    ' Define money format.
    Dim Fmt As String = "###,##0.00"
    ' Annual percentage rate.
    Dim APR As Double = 0.0825
    ' Total number of payments.
    Dim TotPmts As Double = 20
    ' Yearly income.
    Dim YrIncome As Double = 50000
    ' Future value.
    Dim FVal As Double = 1000000
    ' Payment at beginning of month.
    Dim PayType As DueDate = DueDate.BegOfPeriod
    Dim PVal As Double = PV(APR, TotPmts, -YrIncome, FVal, PayType)
    MsgBox("The present value is " & Format(PVal, Fmt) & ".")
End Sub

注解

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

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

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

适用于

另请参阅