【发布时间】:2013-09-21 01:10:37
【问题描述】:
我在 VB.Net 中有一个简单的加法程序,我正在尝试测试文本框是否只输入数字而不输入任何字母。我需要使用 TryParse 方法,但我无法弄清楚我仍然收到此错误。请帮忙
Public Class perrySolutionForm
Dim numberOne As Double
Dim numberTwo As Double
Public Function sum(ByRef numberOne As Double, ByRef numberTwo As Double)
sum = Val(numberOne) + Val(numberTwo)
End Function
Public Function difference(ByRef numberOne As Double, numberTwo As Double)
difference = Val(numberOne) - Val(numberTwo)
End Function
Private Sub sumButton_Click(sender As Object, e As EventArgs) Handles sumButton.Click
If numberOneInput.Text = "" Then
MessageBox.Show("Both fields must be filled out.")
If Double.TryParse(numberOneInput.Text, numberOne) Then
MessageBox.Show("Success")
'numberOne has a Double value
Else
MessageBox.Show("Failure")
'numberOne = Nothing
End If
Else
outputLabel.Text = sum(numberOne, numberTwo)
End If
End Sub
Private Sub numberOneInput_TextChanged(sender As Object, e As EventArgs) Handles numberOneInput.TextChanged
numberOne = numberOneInput.Text
End Sub
Private Sub numberTwoInput_TextChanged(sender As Object, e As EventArgs) Handles numberTwoInput.TextChanged
numberTwo = numberTwoInput.Text
End Sub
【问题讨论】:
-
使用
Val退出,这是遗留的遗留代码。请在使用之前转换您的类型 - 即numberOne = numberOneInput.Text= 错误编码。 -
你能举个例子吗?这是我在 VB.Net 的第一个学期,所以我指的是给定的教科书。谢谢
-
将 Option Strict On 放在源代码文件的顶部并重新编译。修复编译器现在告诉你的错误。
-
这就是
Double.TryParse为你做的事情,如果 poss,它会转换你的字符串值。 -
Option Strict On,确实非常好。