Функция Financial.DDB (VB.Net) - PullRequest
       6

Функция Financial.DDB (VB.Net)

2 голосов
/ 10 апреля 2011

Какой-нибудь совет по использованию функции financial.ddb?Мне нужно отобразить график амортизации в метке, используя только функцию financial.ddb.Я могу показать окончательную амортизированную стоимость в конце периода, но я не знаю, как показать стоимость для каждого года в периоде.

Например, если пользователь ввел стоимость актива в 1000 фунтов стерлингов, срок полезного использования 4 года и ликвидационную стоимость 100 долларов, он должен отобразить:

Год 1: 500,00

Год 2: 250,00

Год 3: 125,00

Год 4: 25,00

Однако мой код (ниже) показывает 25,00 для каждого года.

Private Sub Button1_Click (ByVal отправитель как System.Object, ByVal e как System.EventArgs) Обрабатывает Button1.Click

    Dim cost As Double
    Dim life As Double = CDbl(ComboBox1.SelectedItem)
    Dim salvage As Double
    Dim numberperiod As Integer
    Dim period As Integer
    Dim depreciation As Double
    Dim isconverted1 As Boolean
    Dim isconverted2 As Boolean
    Dim isconverted3 As Boolean

    isconverted1 = Double.TryParse(TextBox1.Text, cost)
    isconverted2 = Double.TryParse(TextBox2.Text, salvage)
    isconverted3 = Integer.TryParse(TextBox3.Text, period)

    For numberperiod = 1 To period Step 1
        depreciation = Financial.DDB(cost, salvage, life, period)
        Label1.Text += numberperiod.ToString & " -> " & Convert.ToString(depreciation) _
        & ControlChars.NewLine
    Next numberperiod

End Sub

Большое спасибо за просмотр этого.

Ответы [ 2 ]

2 голосов
/ 11 апреля 2011

Я думаю, вы просто хотите передать число период в метод DDB вместо периода.

depreciation = Financial.DDB(cost, salvage, life, numberperiod)

(Ваш цикл вызывает функцию с периодом '4' четыре раза вместо 1,2,3,4)

0 голосов
/ 20 апреля 2016

Вот ответ на проблему (опубликовано, я не знаю, когда), но тем не менее, вы получили его.

Private Sub btnDisplay_Click(sender As System.Object, e As System.EventArgs) Handles btnDisplay.Click
    Dim intAsset As Integer
    Dim intSavage As Integer
    Dim dblDep As Double
    Dim intuseful As Integer
    Dim strHeading As String = "Year  Depreciation"

    txtDep.Text = String.Empty
    Integer.TryParse(txtAsset.Text, intAsset)
    Integer.TryParse(txtSalvage.Text, intSavage)
    Integer.TryParse(lstUseful.Text, intuseful)
    txtDep.Text = txtDep.Text & ControlChars.NewLine

    txtDep.Text = strHeading & ControlChars.NewLine
    For Intterm = 1 To intuseful
        txtDep.Text = txtDep.Text & ControlChars.NewLine & Intterm.ToString & "      "
        dblDep = Financial.DDB(intAsset, intSavage, intuseful, Intterm)
        txtDep.Text = txtDep.Text & dblDep.ToString("c2") & "   "
    Next
End Sub
...