Financial.DDB(Double, Double, Double, Double, Double) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个值,该值使用双下降余额方法或指定的其他方法指定特定时间段的资产折旧。
public static double DDB(double Cost, double Salvage, double Life, double Period, double Factor = 2);
static member DDB : double * double * double * double * double -> double
Public Function DDB (Cost As Double, Salvage As Double, Life As Double, Period As Double, Optional Factor As Double = 2) As Double
参数
- Cost
- Double
必填。 资产的初始成本。
- Salvage
- Double
必填。 资产在使用寿命结束时的价值。
- Life
- Double
必填。 资产使用寿命的长度。
- Period
- Double
必填。 计算资产折旧的时间段。
- Factor
- Double
Optional. 余额下降的速率。 如果省略,则假定使用 2 (双下降方法) 。
返回
使用双减余额法或指定的其他方法在特定时间段内资产的折旧。
例外
Factor
<= 0、 Salvage< 0、Period<= 0 或 Period>Life。
示例
本示例使用DDB函数返回给定初始成本()、资产有用寿命结束时的打捞值(InitCost)、资产总寿命(以年为单位SalvageVal)LifeTime的折旧值,以及计算折旧年份(年)的周期(Depr)。
Dim InitCost, SalvageVal, LifeTime, DepYear As Double
Dim Fmt As String = "###,##0.00"
InitCost = CDbl(InputBox("What's the initial cost of the asset?"))
SalvageVal = CDbl(InputBox("Enter the asset's value at end of its life."))
LifeTime = CDbl(InputBox("What's the asset's useful life in years?"))
' Use the SLN function to calculate the deprecation per year.
Dim SlnDepr As Double = SLN(InitCost, SalvageVal, LifeTime)
Dim msg As String = "The depreciation per year: " & Format(SlnDepr, Fmt)
msg &= vbCrLf & "Year" & vbTab & "Linear" & vbTab & "Doubling" & vbCrLf
' Use the SYD and DDB functions to calculate the deprecation for each year.
For DepYear = 1 To LifeTime
msg &= DepYear & vbTab &
Format(SYD(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbTab &
Format(DDB(InitCost, SalvageVal, LifeTime, DepYear), Fmt) & vbCrLf
Next
MsgBox(msg)
注解
双倍余额递减法以加速的比率计算折旧。 折旧在第一阶段是最高的,在后继阶段中会减少。
参数LifePeriod必须以相同的单位表示。 例如,如果 Life 以月为单位, Period 则还必须以月为单位提供。 所有参数都必须是正数。
该 DDB 函数使用以下公式计算给定时间段的折旧值:
折旧/周期 = ((成本 - 打捞) * 因子) / 生命