从字符串“转换”&引用;输入';双倍';无效。在VB.NET中

从字符串“转换”&引用;输入';双倍';无效。在VB.NET中,vb.net,calculator,Vb.net,Calculator,我对编程完全陌生,我决定做一个简单的小计算器作为我的第一个项目 我一直在获取“从字符串“”到类型“Double”的转换无效。”每次单击ButtonPlus时 完整代码: 在ButtonPlus代码的底部附近,我试图将TextBox1中的文本转换为双精度文本。 真正令人困惑的是,当我试图分割时,它并没有发生。 当我按下除法按钮时,什么也没发生/ Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As S

我对编程完全陌生,我决定做一个简单的小计算器作为我的第一个项目

我一直在获取“从字符串“”到类型“Double”的转换无效。”每次单击ButtonPlus时

完整代码:

在ButtonPlus代码的底部附近,我试图将TextBox1中的文本转换为双精度文本。 真正令人困惑的是,当我试图分割时,它并没有发生。 当我按下除法按钮时,什么也没发生/

    Private Sub ButtonPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.Click
    If CInt(True) Then Val1 = CDbl(TextBox1.Text)
    Opperan = "+"
    TextBox1.Clear()
    Funct.Text = "+"
End Sub

Private Sub ButtonDivide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPlus.Click
    If CInt(True) Then Val1 = CDbl(TextBox1.Text)
    Opperan = "/"
    TextBox1.Clear()
    Funct.Text = "÷"
End Sub

假设要将“”转换为0,请尝试此操作

Dim val1 As Double

If Not Double.TryParse(TextBox1.Text, val1) Then
   val1 = 0
End If
我想,我的VB生锈了


PS您可以选择.net方面的内容,而不是依赖传统的VB6内容(如CDbl等),从而为自己带来很多好处。

如果您希望“”转换为0,请尝试此操作

Dim val1 As Double

If Not Double.TryParse(TextBox1.Text, val1) Then
   val1 = 0
End If
我想,我的VB生锈了


PS您可以通过选择.net方面的内容,而不是依赖传统的VB6内容,如CDbl等,为自己带来很多好处。

为什么您有一个
CInt(True)
?无论如何,您确定您在
TextBox1
中键入了什么吗?此外,给它们更具意义的名称有助于发现错误,例如,意外地将
文本框
拖到表单上两次。当您单击
buttonvide
时,不会发生任何事情,因为方法
buttonvide\u click
被指定为
buttonlus
的处理程序。您需要更改
句柄
子句。当你修复这个问题时,你可能会从两个操作中得到相同的错误。你到底为什么有一个
CInt(True)
?不管怎样,你确定你在
TextBox1
中键入了什么吗?此外,给它们更具意义的名称有助于发现错误,例如,意外地将
文本框
拖到表单上两次。当您单击
buttonvide
时,不会发生任何事情,因为方法
buttonvide\u click
被指定为
buttonlus
的处理程序。您需要更改
句柄
子句。当您修复此问题时,您可能会从两个操作中得到相同的错误。“System.Windows.Forms.TextBox”类型的值无法转换为“String”。“这是我在替换
时得到的结果,如果CInt(True),则Val1=CDbl(TextBox1.Text)
:/
TryParse
需要引用
TextBox1.Text
而不仅仅是
TextBox1
。给定一个字符串,
TryParse
尝试将其转换为
Double
。如果由于无效字符而无法执行,则返回
False
。如果成功,它将返回
True
“System.Windows.Forms.TextBox”类型的值不能转换为“String”。“这是我在替换
时得到的结果,如果CInt(True)那么Val1=CDbl(TextBox1.Text)
:/
TryParse
需要引用
TextBox1.Text
。给定一个字符串,
TryParse
尝试将其转换为
Double
。如果由于无效字符而无法执行,则返回
False
。如果成功,则返回
True