Textbox VB.Net中的格式化和计算数字

时间:2016-05-17 06:46:52

标签: vb.net

大家好,下午好。 我希望有人能帮我解决问题。

我有3个文本框,它们是:

GrandTotal.Text
VatAmount.Text
TotalAmount.Text

和1 NumericUpdown1.Value

以下是场景,系统运行时会有一个代码触发并将数字值放在GrandTotal.Text中,然后用户将按NumericUpdown1.Value。每次用户按下它时将触发计算,并且TotalAmount.TextVatAmount.Text

中将显示数字值

为了使其更具体,它就像一个包含增值税的计算表格。例如。

Grandtotal.text = 2000

如果我将NumericUpDown按到+ 1

VatAmount.Text = 20且TotalAmount.Text = 2020

我希望你明白我的意思

以下是我的代码:

Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
VatAmount.Text = Val(Grandtotal.text) * NumericUpDown1.Value * 0.01
End Sub



Private Sub VatAmount_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VatAmount.TextChanged
        TotalAmount.Text = Val(VatAmount.Text) + Val(TextBox14.Text)
    End Sub

现在我完成了解释这里是我的问题。

如何将Commas放在Textbox上并计算它?我的教授问他想要用逗号输入数字吗?无需字面上放置逗号。当值大于3位数时自动将其置位

如何将逗号放入文本框并使用NumericUpdown计算它?

TYSM

1 个答案:

答案 0 :(得分:0)

这大致是你需要的:

Private Sub GrandTotal_TextChanged(sender As Object, e As EventArgs) Handles GrandTotal.TextChanged
    Dim input As Double = Double.Parse(GrandTotal.Text)
    Dim inputStringWithCommas As String = input.ToString("N0", CultureInfo.InvariantCulture)
    GrandTotal.Text = inputStringWithCommas

    Dim vat As Double = Double.Parse(GrandTotal.Text) * NumericUpDown1.Value * 0.01
    VatAmount.Text = vat.ToString()
    TotalAmount.Text = (Double.Parse(GrandTotal.Text) + vat).ToString("N0", CultureInfo.InvariantCulture)
End Sub

它类似于你所拥有的,所以你应该能够使它适用于NumericUpDown事件。