Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net visualbasic上的变量问题_Vb.net_Variables - Fatal编程技术网

Vb.net visualbasic上的变量问题

Vb.net visualbasic上的变量问题,vb.net,variables,Vb.net,Variables,我尝试使用单选按钮计算tip,并使用它们选择百分比,但变量tip不会转移到下一个子项,lblTip.text始终显示为0 这是我的密码: Public Class Form1 Dim tip As Double Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click Me.Close() End Sub Private Sub

我尝试使用单选按钮计算tip,并使用它们选择百分比,但变量tip不会转移到下一个子项,lblTip.text始终显示为0

这是我的密码:

Public Class Form1
Dim tip As Double
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
    Me.Close()
End Sub


Private Sub btnDisplay_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDisplay.Click

    Select Case True
        Case rbtnTen.Checked
            tip = 0.1
        Case rbtnFifteen.Checked
            tip = 0.15
        Case rbtnTwenty.Checked
            tip = 0.2
    End Select

End Sub

Private Sub btnCalcTip_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalcTip.Click
    lblTip.Text = Val(txtBill.Text) * tip
End Sub
End Class
您是否尝试过:

lblTip.Text = CStr(CDbl(txtBill.Text) * tip)
用ElseIf语句代替您的案例语句如何:

If rbtnTen.Checked Then
    tip = 0.1
ElseIf rbtnFifteen.Checked Then
    tip = 0.15
ElseIf rbtnTwenty.Checked Then
    tip = 0.2
EndIf
您是否尝试过:

lblTip.Text = CStr(CDbl(txtBill.Text) * tip)
用ElseIf语句代替您的案例语句如何:

If rbtnTen.Checked Then
    tip = 0.1
ElseIf rbtnFifteen.Checked Then
    tip = 0.15
ElseIf rbtnTwenty.Checked Then
    tip = 0.2
EndIf

通常不建议使用Val,尤其是在i18n代码中。它是VisualBasicPre.Net的继承,在解析值时会创建所有类型的时髦数据。建议先清理字符串,然后对其进行解析,即去掉美元符号,然后将值解析为单/双精度


有关Val的更多信息,请参阅。

通常不建议使用Val,尤其是在i18n代码中。它是VisualBasicPre.Net的继承,在解析值时会创建所有类型的时髦数据。建议先清理字符串,然后对其进行解析,即去掉美元符号,然后将值解析为单/双精度


有关Val的更多信息,请查看。

原样,您的代码工作正常,但有几件事

使用大家提到的If..ElseIf..EndIF。 尽量不要使用Val。它在这种情况下有效,但可能根本不起作用 至于为什么只得到0,我可以使用您现有的代码通过以下三种方法之一复制该行为

不要先单击“显示”。在这种情况下,您不指定 值,因此它默认为0。将0乘以任意数量,即可 收到0 在TxtBill中没有值。原因与1相同。 没有设置单选按钮的默认值,正在尝试 计算 假设我在txtBill中输入一个值,选择一个提示选项并按下btnDisplay,我会得到一个值


我会把断点放进去,试着跟踪变量中的值,看看发生了什么。您还可以让btnDisplay和btnCalc同时完成所有工作,验证是否已选择小费金额,并进行计算和显示结果。单击两个按钮没有意义。

按原样,您的代码工作正常,但有几件事

使用大家提到的If..ElseIf..EndIF。 尽量不要使用Val。它在这种情况下有效,但可能根本不起作用 至于为什么只得到0,我可以使用您现有的代码通过以下三种方法之一复制该行为

不要先单击“显示”。在这种情况下,您不指定 值,因此它默认为0。将0乘以任意数量,即可 收到0 在TxtBill中没有值。原因与1相同。 没有设置单选按钮的默认值,正在尝试 计算 假设我在txtBill中输入一个值,选择一个提示选项并按下btnDisplay,我会得到一个值


我会把断点放进去,试着跟踪变量中的值,看看发生了什么。您还可以让btnDisplay和btnCalc同时完成所有工作,验证是否已选择小费金额,并进行计算和显示结果。单击两个按钮没有意义。

变量提示没有转移到下一个子项是什么意思?您是否进行了调试以确保在btnDisplay_Click中正确分配了提示?只是一个参考,但是。1在转换为二进制时是一个重复的十进制,这可能会导致您在此处看到一些意外结果。由于这些都是货币计算,请尝试将tip变量设置为十进制而不是双精度。两个重要注意事项:1 Select Case True被认为是糟糕的编程实践,如果ElseIf End在这种情况下,您可以使用2如果在这种情况下,您应该切换-这将提醒您发布的代码中存在错误Hanks Matt。我对VB有点了解,所以任何提示都会有帮助。变量提示不会转移到下一个子项是什么意思?您是否进行了调试以确保在btnDisplay_Click中正确分配了提示?仅供参考,但是。1在转换为二进制时是重复的十进制,这可能会导致您在此处看到一些意外结果。由于这些都是货币计算,请尝试将tip变量设置为十进制而不是双精度。两个重要注意事项:1 Select Case True被认为是糟糕的编程实践,如果ElseIf End在这种情况下,您可以使用2如果在这种情况下,您应该切换-这将提醒您发布的代码中存在错误Hanks Matt。我对VB有点了解,所以任何提示都会有帮助。Fulop说他的问题是lblTip.text一直显示为0。这不会解决问题。如果将整数解析为字符串时出现问题,则会解决问题。Text存储字符串值而不是整数值。问题也可能存在于ValtxtBill.Text中。我的观点是:如果CDbltxtBill.Text*tip返回0,那么用CStr包装此代码仍将返回0!OP说他的问题是lblTip.text一直显示为0。这不会解决问题。如果将整数解析为字符串时出现问题,则会解决问题。Text存储字符串值而不是整数值。这个问题也可能会发生
驻留在ValtxtBill.Text中我的观点是:如果CDbltxtBill.Text*tip返回0,那么用CStr包装此代码仍将返回0!谢谢我摆脱了btnDisplay,它现在开始工作了。再次感谢你的帮助。我摆脱了btnDisplay,它现在开始工作了。再次感谢你的帮助。