类型为';的未处理异常;System.FormatException';发生在mscorlib.dll VB.net中
我正在为我的学校项目写一些计算应用程序我使用的代码是类型为';的未处理异常;System.FormatException';发生在mscorlib.dll VB.net中,vb.net,Vb.net,我正在为我的学校项目写一些计算应用程序我使用的代码是 Private Sub C1A_Leave(sender As Object, e As EventArgs) Handles C1A.Leave If C1A.Text = "" Then Else C2A.Text = Double.Parse(C1A.Text) * Double.Parse(C1ER.Text) If SellMove.Checked =
Private Sub C1A_Leave(sender As Object, e As EventArgs) Handles C1A.Leave
If C1A.Text = "" Then
Else
C2A.Text = Double.Parse(C1A.Text) * Double.Parse(C1ER.Text)
If SellMove.Checked = True Then
C1NC.Text = Double.Parse(C1OC.Text) - Double.Parse(C1A.Text)
C2NC.Text = Double.Parse(C2OC.Text) + Double.Parse(C2A.Text)
ElseIf BuyMove.Checked = True Then
C1NC.Text = Double.Parse(C1OC.Text) + Double.Parse(C1A.Text)
C2NC.Text = Double.Parse(C2OC.Text) - Double.Parse(C2A.Text)
End If
C2A.Text = CDec(C2A.Text).ToString("N")
C1A.Text = CDec(C1A.Text).ToString("N")
C1NC.Text = CDec(C1NC.Text).ToString("N")
C2NC.Text = CDec(C2NC.Text).ToString("N")
End If
End Sub
但我得到的错误是,在mscorlib.dll VB.net中发生了类型为“System.FormatException”的未处理异常
问题是当C1OC和c2c text=0时,它可以工作,但如果不是0,则会显示错误
请提供任何帮助请始终对问题提供完整、清晰的解释。这将确切地包括引发异常的行、实际错误消息(不仅仅是异常的类型)以及当时正在使用的数据。问题可能是您正在向一个或多个
Double.Parse
调用传递一个不表示数字的字符串。显而易见的解决方案是不要这样做,即不要调用Double.Parse
,除非您知道文本确实代表一个数字。这意味着首先验证,或者使用Double.TryParse
一起验证和转换,将Double
分配给控件的文本
,然后将得到的字符串
返回,并将其转换为十进制
,然后将其格式化为字符串
,并将其分配回同一控件的文本
,这一切都很糟糕。您应该首先将选项严格设置为
,然后修复所有键入问题。然后,如果要在该控件中使用格式化的十进制
,请首先将原始字符串
转换为十进制
,然后格式化乘法结果,并将结果一步放入控件中。