VB.NET计算错误

时间:2014-12-21 10:59:21

标签: vb.net calculator

我做了一个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

如果有人可以提供帮助,我会非常感激

1 个答案:

答案 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