Db(
Cost: Double;
Salvage: Double;
Life: Double;
Period: Double;
Month: Integer): Double;
Db(
Cost: double;
Salvage: double;
Life: double;
Period: double;
Month: integer): double;
Parameters | Description | Constraints |
Cost | The initial cost of the asset. | Cannot be negative. |
Salvage | Value of an asset at the end of the depreciation period. | Must belong to the [0;Cost] interval. |
Life | The number of the asset's depreciation periods. | Must be positive. |
Period | The period, for which depreciation has to be calculated. The period must be measured in the same units as Life. | Must be in the [1;Life] interval |
Month | The number of months in the first year. | Must be in the [1;12] interval |
The Db method returns depreciation of an asset for the specified period, calculated using the fixed reduction of the remainder method.
To calculate depreciation for a period, the method uses the following formulas:
(Cost - total depreciation for previous periods) * Rate,
where:
A special case is depreciation for the fist and last periods.
For the first period Db uses this formula:
Cost * Rate * Month/12
For the last period Db uses this formula:
((Cost - total depreciation for previous periods) * Rate * (12 - Month))/12.
To execute the example, add a link to the MathFin system assembly.
Sub UserProc;
Var
r: Double;
Begin
r := Finance.Db(54000, 1200, 24, 6, 7);
Debug.WriteLine(r);
End Sub UserProc;
After executing the example the console window displays the depreciation value equal to 3842.1312.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.MathFin;
…
Public Shared Sub Main(Params: StartParams);
Var
r: double;
Finance: FinanceClass = New FinanceClass();
Begin
r := Finance.Db(54000, 1200, 24, 6, 7);
System.Diagnostics.Debug.WriteLine(r);
End Sub;
See also: