提问人:MohammedAnas MohammedFuad 提问时间:2/4/2023 最后编辑:MohammedAnas MohammedFuad 更新时间:2/6/2023 访问量:301
如何检查 Double 类型的变量是否没有值。VB.NET
How To Check If A Variable From Double Type Doesn't Have A Value. VB.NET
问:
我在 VB.NET 的问题。
我希望你能看到我的代码,并不是我所有的代码都很重要。
重要的部分在第二个 if 条件中,它是 。if snum = ""
该变量是 Type 中的变量,我检查此变量是否为空。我的意思是它没有任何价值。snum
double
当我运行代码时,程序在我告诉您的第二个if条件下向我显示此错误。
“”附加信息:从字符串 “” 到类型 'Double' 的转换无效。“”
我正在开发一个移动电机的程序。我写的代码是我在程序中做的事情之一。
我为什么检查??if snum = ""
因为的值是其中一个电机的坐标,它是 Z 轴电机。坐标写在 .snum
TextBox
我从中获取了 Z 轴电机的坐标并将其放入变量中。然后我通过此代码检查变量是否为空。如果为空,则 Z 轴电机不会移动。如果不为空,即使其值为 Z 轴电机也会移动。TextBox
snum
snum
if snum == ""
snum
snum
0
那么如何检查 double 类型的变量是否没有值呢?
如果它的值是,则电机将移动。
我想检查它是否没有任何价值。0
这是代码。 该过程适用于按钮单击
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim snum As Double
Dim tnum As Double
Dim h As Integer = 0
If h = 1 Then
snum = TextBox1.Text
tnum = TextBox1.Text
TextBox3.Text = snum
TextBox4.Text = tnum
Else
If snum = "" Then
snum = tnum
TextBox2.Text = "Hello , How Are You"
TextBox3.Text = snum
TextBox4.Text = tnum
End If
End If
End Sub
答:
Jmcilhinney 是对的:这段代码没有多大用处。但是,以下是如何使用 CDBL () 和 Tostring 将文本变量转换为 double,反之亦然:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim snum As Double
Dim tnum As Double
Dim h As Integer = 0
If h = 1 Then
snum = cDbl(TextBox1.Text)
tnum = cDbl(TextBox1.Text)
TextBox3.Text = snum.toString
TextBox4.Text = tnum.toString
Else
If snum = 0 Then
snum = tnum
TextBox2.Text = "Hello , How Are You"
TextBox3.Text = snum.toString
TextBox4.Text = tnum.toString
End If
End If
End Sub
评论
snum == 0
snum = ""
snum
TextBox
TextBox
snum
snum
if snum == ""
snum
snum
您的代码仍然没有什么意义,但我将在更一般的意义上回答值类型。 是值类型,因此 ALWAYS 具有值。当您声明一个变量时,默认情况下,分配给该变量的内存将包含所有零,这在 VB 中表示。这实际上意味着什么取决于类型。对于所有引用类型(即类),它不表示对象。对于所有值类型(即结构),它表示该类型的默认值,例如 对于布尔值,#1/01/0001#对于所有数值类型,零。这意味着,在您的例子中,您的变量将具有值 。Double
Nothing
False
Date
Double
0.0
如果您希望能够表示值类型的任何值,则必须使用可为 null 的值类型,例如 或简称。可以测试可为 null 的值类型的属性,以查看它是否具有值,如果有,则从该属性中获取该值。对于 /,该属性将为 类型 。请注意,获取 when is 属性将引发异常。Nullable(Of Double)
Double?
HasValue
Value
Nullable(Of T)
T?
Value
T
Value
HasValue
False
Dim d1 As Double?
Dim d2 As Double?
If d1.HasValue Then
Console.WriteLine("d1 = " & d1.Value)
Else
Console.WriteLine("d1 has no value")
End If
If d2.HasValue Then
Console.WriteLine("d2 = " & d2.Value)
Else
Console.WriteLine("d2 has no value")
End If
d1 = 0.0
d2 = 123.456
If d1.HasValue Then
Console.WriteLine("d1 = " & d1.Value)
Else
Console.WriteLine("d1 has no value")
End If
If d2.HasValue Then
Console.WriteLine("d2 = " & d2.Value)
Else
Console.WriteLine("d2 has no value")
End If
评论
Double
String
Double
0.0
Nullable(Of Double)
Double?
h
0
1
Else
snum
snum = ""
snum
snum
if snum == ""
snum
snum
0
snum
""
Option Strict