我做了一个sodavending mashine,它可以显示价格,你支付多少,它可以给你钱,但由于某种原因,程序开始计算错误,它在前几天工作正常,并且我没有更改我的代码,所以我把苏打水换成18克朗,然后我在机器上放了5 kr,然后我按下付款,由于某种原因,这里说的是你支付的钱很多,并给出了你回来了-13 kr,前几天它没有在这里做到这一点,正如我所说,我没有改变代码。这段代码让我烦恼:(贵重物品是丹麦语)
'Her fortæller jeg om man har givet det beløb man skal
Private Sub ButtonBetal_Click(sender As Object, e As EventArgs) Handles ButtonBetal.Click
If TextBoxBeløb.Text = TextBoxPris.Text Then
MsgBox("Værsgo")
End If
If TextBoxBeløb.Text < TextBoxPris.Text Then
MsgBox("Ikke nok penge")
End If
If TextBoxBeløb.Text > TextBoxPris.Text Then
MsgBox("Her er de overskyende penge og din sodavand :)")
End If
If TextBoxBeløb.Text > TextBoxPris.Text Then
TextBoxPengeTilbage.Text = TextBoxBeløb.Text - TextBoxPris.Text
End If
End Sub
如果有人可以提供帮助,我会非常感激
答案 0 :(得分:3)
您似乎在比较字符串值,而不是数字。按字母顺序,“13”小于“5”,这就是为什么它不起作用。在进行比较和计算之前,您需要将文本值转换为数字。
类似的东西:(希望这是正确的,我是C#程序员,而不是VB)
Dim Beløb as Decimal = Convert.ToDecimal(TextBoxBeløb.Text)
Dim Pris as Decimal = Convert.ToDecimal(TextBoxPris.Text)
If Beløb = Pris Then
MsgBox("Værsgo")
End If
If Beløb < Pris Then
MsgBox("Ikke nok penge")
End If
If Beløb > Pris Then
MsgBox("Her er de overskyende penge og din sodavand :)")
TextBoxPengeTilbage.Text = Beløb - Pris
End If