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
可选。 余额递减的速率。 如果省略,则假定为 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)
注解
双倍余额递减法以加速比率计算折旧。 折旧在首个期间内最高,在随后的期间内降低。
Life
和 Period
参数必须以相同的单位表示。 例如,如果 Life
以月为单位提供 , Period
则还必须以月为单位提供 。 所有参数必须为正数。
函数 DDB
使用以下公式来计算给定周期的折旧:
折旧/期间 = ( (成本 - 挽救) * 因子) /寿命