以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何判断在文本框中输入的数据类型?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39134)

--  作者:loongtai
--  发布时间:2013/8/16 11:05:00
--  [求助]如何判断在文本框中输入的数据类型?
如题,对文本框中输入的数据进行检查,判断是否为整数。表中这样的判断可以用IsNumeric,但这好像也只能判断是否是数值型 ,但不能判断是整数还是小数
--  作者:Bin
--  发布时间:2013/8/16 11:07:00
--  
比较不严谨的办法可以先判断他是否数值,再判断是否包含小数点 "1.5".Contains(".")  即可知道是否是小数
--  作者:loongtai
--  发布时间:2013/8/16 11:11:00
--  [求助
以下是引用Bin在2013-8-16 11:07:00的发言:
比较不严谨的办法可以先判断他是否数值,再判断是否包含小数点 "1.5".Contains(".")  即可知道是否是小数这个
谢谢

[此贴子已经被作者于2013-8-16 11:16:39编辑过]

--  作者:Bin
--  发布时间:2013/8/16 11:17:00
--  
你好,是没有对应的函数判断的.  而且就2种可能性,不是字符串就是数值 使用IsNumeric判断一下不是数值 自然就是字符串了.还有必要更多的判断吗?

刚才想了一下.我2楼提供的方法还是严谨可行的,因为如果有 两个小数点的话 IsNumeric 就会判断为FLASE了. 所以能过得了IsNumeric这一关就一定是数值. 再包含小数点就一定是小数了.



--  作者:lsy
--  发布时间:2013/8/16 11:26:00
--  

Dim s As String = e.Form.ConTrols("TextBox1").Text

If IsNumeric(s) Then

   If CInt(s) = CDbl(s) Then

      MessageBox.Show("整数")

   Else

      MessageBox.Show("小数")

   End If

End If


--  作者:loongtai
--  发布时间:2013/8/19 7:35:00
--  [求助]
以下是引用lsy在2013-8-16 11:26:00的发言:

Dim s As String = e.Form.ConTrols("TextBox1").Text

If IsNumeric(s) Then

   If CInt(s) = CDbl(s) Then

      MessageBox.Show("整数")

   Else

      MessageBox.Show("小数")

   End If

End If

这个也挺有创意的。谢谢热心帮助!

[此贴子已经被作者于2013-8-19 7:36:14编辑过]