Financial.NPV(Double, Double[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个值,该值基于一系列定期现金流(支出和收入)和贴现率来指定投资的净现值。
public:
static double NPV(double Rate, cli::array <double> ^ % ValueArray);
public static double NPV (double Rate, ref double[] ValueArray);
static member NPV : double * Double[] -> double
Public Function NPV (Rate As Double, ByRef ValueArray As Double()) As Double
参数
- Rate
- Double
必需。 每期的贴现率,以小数表示。
返回
基于一系列定期现金流(支出和收入)和贴现率的投资的净现值。
例外
ValueArray
为 Nothing
,ValueArray
的轶 <> 1,或 Rate
= -1
示例
此示例使用 NPV
函数返回数组 values()
中包含的一系列现金流的净现值。 存储在 中的 FixedRetRate
返回值表示固定的内部返回率。
' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"
Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000
' Use the NPV function to calculate the net present value.
' Set fixed internal rate.
Dim FixedRetRate As Double = 0.0625
' Calculate net present value.
Dim NetPVal As Double = NPV(FixedRetRate, values)
' Display net present value.
MsgBox("The net present value of these cash flows is " &
Format(NetPVal, MoneyFmt) & ".")
注解
投资的净现值是未来一系列付款和收据的当前值。
函数 NPV
使用数组中值的顺序来解释付款和收据的顺序。 请务必按正确的顺序输入付款和收据值。
投资 NPV
从第一个现金流值日期之前的一个周期开始,以数组中的最后一个现金流值结束。
净现值计算基于未来的现金流。 如果第一个现金流发生在第一个周期开始时,则必须将第一个值添加到 返回 NPV
的值中,并且不得包含在 的现金流值 ValueArray
中。
函数 NPV
类似于 PV
函数 (现值) ,只不过 PV
函数允许现金流在期末或期初开始。 与可变 NPV
现金流值不同, PV
现金流必须在整个投资过程中固定。