Visual Basic没有从文本框中添加数字?

时间:2013-09-25 22:23:12

标签: vb.net

所以我有这个程序。它计算物品的销售价格并显示税,小计,折扣百分比,这些都可以正常工作。我试图做的是显示另外3个文本框,累积小计,折扣金额和平均折扣。

每当我输入任何内容时,应该累积的文本框只显示其他框所说的内容,基本上是复制框

Dim numberOfInvoices As Integer
Dim totalOfInvoices As Decimal
Dim invoiceAverage As Decimal

Private Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.Click
    Dim subtotal As Decimal = CDec(txtEnterSubtotal.Text)
    Dim discountPercent As Decimal = 0.25D
    Dim discountAmount As Decimal = Math.Round(subtotal * discountPercent, 2)
    Dim invoiceTotal As Decimal = subtotal - discountAmount
    Dim enterSubtotal As Decimal = Val(txtEnterSubtotal.Text)
    Dim accumDiscount As Decimal = Val(txtAccumDiscAmount.Text)
    Dim avgDiscount As Decimal = Val(txtAccumDiscAmount.Text)
    Dim accumSubTotal As Decimal = Val(txtAccumSubtotal.Text)

    txtSubtotal.Text = FormatCurrency(subtotal)
    txtDiscountPercent.Text = FormatPercent(discountPercent, 1)
    txtDiscountAmount.Text = FormatCurrency(discountAmount)
    txtTotal.Text = FormatCurrency(invoiceTotal)

    numberOfInvoices += 1
    totalOfInvoices += invoiceTotal
    invoiceAverage = totalOfInvoices / numberOfInvoices

    txtNumberOfInvoices.Text = numberOfInvoices.ToString
    txtTotalOfInvoices.Text = FormatCurrency(totalOfInvoices)
    txtInvoiceAverage.Text = FormatCurrency(invoiceAverage)

    'below is where I'm trying to accumulate everything entered....
    txtAccumSubtotal.Text = FormatCurrency(accumSubTotal + subtotal)
    txtAccumDiscAmount.Text = FormatCurrency(accumDiscount + discountAmount)

    If avgDiscount = 0 Then
        txtAvgDiscAmount.Text = FormatCurrency(discountAmount)
    ElseIf avgDiscount > 0 Then
        txtAvgDiscAmount.Text = FormatCurrency(avgDiscount / numberOfInvoices)
    End If

    txtEnterSubtotal.Text = ""
    txtEnterSubtotal.Select()
    'This is a comment
End Sub

1 个答案:

答案 0 :(得分:0)

忽略我以前的帖子,我错了。我发现了问题。

百分比或货币字段上的

VAL()将返回0.您必须从字符串中取出“$”和“%”才能执行VAL()