【发布时间】:2016-09-06 06:58:37
【问题描述】:
我需要测试 textbox1 和 textbox2 中的值是整数还是长整数(没有小数位)。
我尝试过这样的事情:
Dim x As Integer
Dim y As Integer
x = TextBox1.Value
y = TextBox2.Value
If x = Int(x) Then
'my code
Else
MsgBox("value is not an integer")
如果我输入 x=2.3,它不会显示 MsgBox,但会将值四舍五入为 2。
【问题讨论】:
-
我会检查
TextBox1.Value是否为整数,因为在您设置x时,该值已四舍五入。x将保持一个整数,而TextBox1.Value不必是一个。 -
哦,我没想到。现在完美了,谢谢
-
通常,您可以将值分配给整数(隐式截断十进制数字),重新分配给浮点数并与源进行比较。或者,将源编号与其舍入值进行比较。如果相同,则为整数,否则为小数位。
-
@Bathsheba 刚刚发送了我上面提到的相同解决方案。
-
@FDavidov:是的,这不是一个糟糕的方法,尽管它会在 2 的 52 次方之后失效。顺便说一句,请考虑重新制定你的 cmets 来回答:我会投票。
标签: excel vba integer long-integer