我有一个文本框,显示两个其他人的结果相乘,在输入任何内容之前,框显示NaN,有没有办法让它显示“0”,甚至在任何乘法之前保持为空。< / p>
Dim thick1 As Double
Dim tb8 As Double
Dim result As Double
thick1 = Val(thickness1.Text)
tb8 = Val(TextBox8.Text)
result = thick1 / tb8
TextBox30.Text = FormatNumber(result, 3)
^上面的代码是我用于文本框的内容。
答案 0 :(得分:0)
这似乎是自动运行的事件或表单加载中的代码。如果文本框还没有值,那么result = thick1 / tb8
将导致Nan(不是数字),因为您不能除以零。
再次,假设一个事件或某事:
If tb8 = 0 then
Exit Sub
else
result = thick1 / tb8
TextBox30.Text = result.ToString("G3")
End if
除了为TryParse转储VAL之外,请考虑在
上转换Option Explicit答案 1 :(得分:0)
另一种方式,试试这个:
TextBox30.Text = FormatNumber(result, 3).Tostring("n0")
我认为即使数字不存在,它也应显示0(如NaN
字符串)
MSDN: The Numeric ("N") Format Specifier
如果没有,那就试试这个:
TextBox30.Text = FormatNumber(result, 3).ToString("0")
“0”零占位符
如果存在,则用相应的数字替换零;否则,结果字符串中会出现零。
答案 2 :(得分:0)
尝试这样的事情:
Dim result As Double
Dim thick1 As Double = CDbl(thickness1.Text)
Dim tb8 As Double = CDbl(TextBox8.Text)
If IsNumeric(thick1) AndAlso IsNumeric(tb8) AndAlso tb8 <> 0 Then
result = thick1 / tb8
TextBox30.Text = result.ToString("G3")
End If