Vb.net 输入期间无效的强制转换

Vb.net 输入期间无效的强制转换,vb.net,Vb.net,我正在做一个基本的家庭作业,看起来像这样: While input <> -1 input = CDbl(InputBox("Enter numbers to add, enter -1 to stop")) values = values + input End While 我想我理解这个错误,我正在尝试使用CDbl转换一个非数值。我的问题是,写这段代码更合适的方法是什么?是代码问题,还是缺少错误处理?您可以尝试使用Double.T

我正在做一个基本的家庭作业,看起来像这样:

    While input <> -1
        input = CDbl(InputBox("Enter numbers to add, enter -1 to stop"))
        values = values + input
    End While

我想我理解这个错误,我正在尝试使用CDbl转换一个非数值。我的问题是,写这段代码更合适的方法是什么?是代码问题,还是缺少错误处理?

您可以尝试使用Double.TryParse或使用带有Double.Parse的try-catch块。由于这是一项家庭作业,我将让您在MSDN上查找它们。

您可以尝试使用Double.TryParse或使用带有Double.Parse的try-catch块。因为这是一项家庭作业,我会让你在MSDN上查找它们。

尝试使用Double.TryParse

Dim value as Double = Nothing
If Double.TryParse(InputBox("Enter numbers..."), value) Then
    values = values + value
End If

我的语法可能有点不正确,但您应该明白这一点

尝试使用Double.TryParse

Dim value as Double = Nothing
If Double.TryParse(InputBox("Enter numbers..."), value) Then
    values = values + value
End If

我的语法可能有点不正确,但你应该明白,如果他们输入的不是double或太大而无法存储在double中的值,你也会出错


不过,提出的建议应该足够了,您基本上希望在尝试强制转换之前验证用户输入。

如果用户输入的不是double或太大而无法存储在double中的值,您也会收到错误

不过,提出的建议应该足够了,您基本上希望在尝试强制转换之前验证用户输入