如何在vb.net中正确更新我的总计(使用textchanged事件)
我在文本框中看到的是折扣。文本框在您键入时与标签对话,并相应地对其进行更新 问题是,一旦折扣率达到10或以上,折扣将减少5美分,并随着数字的增加而增加 有人能告诉我为什么吗如何在vb.net中正确更新我的总计(使用textchanged事件),vb.net,Vb.net,我在文本框中看到的是折扣。文本框在您键入时与标签对话,并相应地对其进行更新 问题是,一旦折扣率达到10或以上,折扣将减少5美分,并随着数字的增加而增加 有人能告诉我为什么吗 Private Sub discount_rate_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles discount_rate.TextChanged Select Case radio C
Private Sub discount_rate_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles discount_rate.TextChanged
Select Case radio
Case "one"
If discount_rate.Text = "" Then
Label17.Text = FormatCurrency(a_total.Text * 50)
Label19.Text = FormatCurrency(Label17.Text * 0.06)
a = CDbl(Label17.Text)
b = CDbl(Label19.Text)
Label21.Text = FormatCurrency(a + b)
Else
discount = discount_rate.text / 100
discountrate = Label17.Text * discount
dis_count1.Text = FormatCurrency(discountrate)
Label17.Text = FormatCurrency((a_total.Text * 50) - discountrate)
Label19.Text = FormatCurrency(Label17.Text * 0.06)
a = CDbl(Label17.Text)
b = CDbl(Label19.Text)
Label21.Text = FormatCurrency(a + b)
首先,货币永远不要使用浮点。Double和float是浮点 改用十进制 在你的情况下,这将使它像这样
Dim _total as Decimal = Convert.ToDecimal(a_total.Text)
Dim _ihavenoidea = Convert.ToDecimal(Label17.Text)
Label17.Text = FormatCurrency(_total * 50)
Label19.Text = FormatCurrency(ihavenoidea * 0.06)
a = Convert.ToDecimal(Label17.Text)
b = Convert.ToDecimal(Label19.Text)
Label21.Text = FormatCurrency(a + b)
对于使用描述性变量和控件名称也有一些说法,需要维护代码的人会为此感谢您。我发现我做得不对discountrate=Label17.Text*discount不是对实际变量进行检查和多倍计算,而是将新变量相乘