VB.NET计算错误
我做了一个sodavending mashine,它可以显示价格,你付了多少钱,它可以给你钱,但由于某种原因,程序开始计算错误,前几天在这里运行良好,我没有更改我的代码,所以我拿一杯苏打水到18克朗,我在机器里放了5克朗,然后按pay,出于某种原因,它说这是你支付给很多人的钱,还给你-13韩元,前几天它没有这样做,正如我说的,我没有更改代码。下面是一段令我恼火的代码:贵重物品是用丹麦语写的VB.NET计算错误,vb.net,calculator,Vb.net,Calculator,我做了一个sodavending mashine,它可以显示价格,你付了多少钱,它可以给你钱,但由于某种原因,程序开始计算错误,前几天在这里运行良好,我没有更改我的代码,所以我拿一杯苏打水到18克朗,我在机器里放了5克朗,然后按pay,出于某种原因,它说这是你支付给很多人的钱,还给你-13韩元,前几天它没有这样做,正如我说的,我没有更改代码。下面是一段令我恼火的代码:贵重物品是用丹麦语写的 'Her fortæller jeg om man har givet det beløb man ska
'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
如果有人能帮上忙,我会非常高兴的你似乎在比较字符串值,而不是数字。按字母顺序,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
调试时,具体在哪里失败?为什么要对文本值而不是数值执行数学运算?请先将其转换为整数,然后再与其他受害者进行比较。此选项应处于启用状态。说真的。考虑到OP问题中的整数示例,我认为Kr相当于一便士/美分。如果不是这样,那么是的,它们应该是小数。更新后使用更合适的小数。呵呵,不,丹麦货币是克朗