Vb.net 价格仅显示为$0.00

Vb.net 价格仅显示为$0.00,vb.net,winforms,Vb.net,Winforms,我试图制作一个菜单,计算最终的总成本,但是最终成本应该显示在文本框中,但它只显示$0.00,任何人都可以提供帮助。它应该显示为您选择主菜的总成本,以及客户将选择多少面和/或配料。请参阅所附代码 Public Class frmMenu Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click 'Set variables Dim d

我试图制作一个菜单,计算最终的总成本,但是最终成本应该显示在文本框中,但它只显示$0.00,任何人都可以提供帮助。它应该显示为您选择主菜的总成本,以及客户将选择多少面和/或配料。请参阅所附代码

Public Class frmMenu
    Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        'Set variables
        Dim decCBurger As Decimal = 11D
        Dim decChicken As Decimal = 7.49D
        Dim decFries As Decimal = 5.99D
        Dim decOnionRings As Decimal = 5.99
        Dim decSalad As Decimal = 5.99
        Dim decSoup As Decimal = 5.99
        Dim decFP As Decimal = 5.99
        Dim decPickle As Decimal = 0.99
        Dim decOnion As Decimal = 0.99
        Dim decTomato As Decimal = 0.99
        Dim decBacon As Decimal = 0.99
        Dim decEgg As Decimal = 0.99
        Dim decTotalCost As Decimal
        Dim decSides As Decimal
        Dim decTop As Decimal
        Dim decMain As Decimal

        'Display cost and label 
        txtTotalCost.Text = decTotalCost.ToString("C")
        decTotalCost = decTop + decSides + decMain

        ' Check for main dish
        If radCBurger.Checked Then
            decMain = decCBurger
        ElseIf radChicken.Checked Then
            decMain = decChicken
        End If
        'Check for side dishes
        If chkFries.Checked Then
            decSides = decFries
        End If
        If chkOnionRings.Checked Then
            decSides = decOnionRings
        End If
        If chkFP.Checked Then
            decSides = decFP
        End If
        If chkSoup.Checked Then
            decSides = decSoup
        End If
        If chkSalad.Checked Then
            decSides = decSalad
        End If
        'Check for Toppings
        If chkOnion.Checked Then
            decTop = decOnion
        End If
        If chkTomato.Checked Then
            decTop = decTomato
        End If
        If chkBacon.Checked Then
            decTop = decBacon
        End If
        If chkEgg.Checked Then
            decTop = decEgg
        End If
        If chkPickle.Checked Then
            decTop = decPickle
        End If

这应该是在你的潜艇的末端,你倒转了线。你不能指望计算机知道你想要什么。您正在开始计算,因此您的总数始终为0.00

 'Display cost and label 
        decTotalCost = decTop + decSides + decMain
        txtTotalCost.Text = decTotalCost.ToString("C")
就这样

Public Class frmMenu
    Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
        'Set variables
        Dim decCBurger As Decimal = 11D
        Dim decChicken As Decimal = 7.49D
        Dim decFries As Decimal = 5.99D
        Dim decOnionRings As Decimal = 5.99
        Dim decSalad As Decimal = 5.99
        Dim decSoup As Decimal = 5.99
        Dim decFP As Decimal = 5.99
        Dim decPickle As Decimal = 0.99
        Dim decOnion As Decimal = 0.99
        Dim decTomato As Decimal = 0.99
        Dim decBacon As Decimal = 0.99
        Dim decEgg As Decimal = 0.99
        Dim decTotalCost As Decimal
        Dim decSides As Decimal
        Dim decTop As Decimal
        Dim decMain As Decimal

        ' Check for main dish
        If radCBurger.Checked Then
            decMain = decCBurger
        ElseIf radChicken.Checked Then
            decMain = decChicken
        End If
        'Check for side dishes
        If chkFries.Checked Then
            decSides = decFries
        End If
        If chkOnionRings.Checked Then
            decSides = decOnionRings
        End If
        If chkFP.Checked Then
            decSides = decFP
        End If
        If chkSoup.Checked Then
            decSides = decSoup
        End If
        If chkSalad.Checked Then
            decSides = decSalad
        End If
        'Check for Toppings
        If chkOnion.Checked Then
            decTop = decOnion
        End If
        If chkTomato.Checked Then
            decTop = decTomato
        End If
        If chkBacon.Checked Then
            decTop = decBacon
        End If
        If chkEgg.Checked Then
            decTop = decEgg
        End If
        If chkPickle.Checked Then
            decTop = decPickle
        End If


        'Display cost and label 
        decTotalCost = decTop + decSides + decMain
        txtTotalCost.Text = decTotalCost.ToString("C")


end sub

end class

当代码显然不是VBA时,为什么人们要将其标记为VBA?!?在我看来,您在分配值之前就已经显示了值。“显示成本和标签”应该在末尾。一种计算机程序,它按命令的写入顺序执行命令。另外,您的decMain赋值应该是
decMain=decMain+decCBurger
。计数器可能应该是整数类型而不是小数类型,除非您希望出售部分边。这仍然是错误的。假设用户选中了每个框。只有最后一面或顶部将添加到末尾。试试a+=这相当于decTop=decTop+dectomy