以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何判断一个字符串是否为数字?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66506)

--  作者:wh420
--  发布时间:2015/4/8 15:39:00
--  如何判断一个字符串是否为数字?

如何判断一个字符串是否为数字?有的时候如果字符串为“12323中国”也会误认为是数字字符串,如何避免

 

 

If Char.IsNumber("123213") Then
    Messagebox.Show("这是一个数字!")
Else
messagebox.show("这不是数字")
End If

[此贴子已经被作者于2015/4/8 15:39:52编辑过]

--  作者:Bin
--  发布时间:2015/4/8 15:45:00
--  
http://www.foxtable.com/help/topics/0324.htm
--  作者:wh420
--  发布时间:2015/4/8 15:54:00
--  
这个满足不了我的需求,具体例子是对EXCEL的某个单元格做一个判断,如果这个单元格中都不是数字则执行代码A。

例如:单元格内容为 123456,则不执行代码A;如果内容为: 1234ABCDS 或 123154数据则执行代码A。

If  Char.IsNumber(sheet(i, j).Text)=False Then
代码A
end if

--  作者:Bin
--  发布时间:2015/4/8 15:57:00
--  
2楼的就可以满足
--  作者:狐狸爸爸
--  发布时间:2015/4/8 16:04:00
--  

二楼可以满足要求,或者直接:

 

If  Isnumeric(sheet(i, j).Text)=False Then
    代码A
end if
 
 
Isnumeric是vb6的一个函数,在foxtable可以使用

--  作者:wh420
--  发布时间:2015/4/8 16:09:00
--  
试过了,可以满足要求。如果要是判断单元格中是否有汉字呢?
--  作者:wh420
--  发布时间:2015/4/8 16:12:00
--  
即:以中文开头,或包括中文的
--  作者:Bin
--  发布时间:2015/4/8 16:14:00
--  
Dim s As String = "adfa"
MessageBox.show(System.Text.RegularExpressions.Regex.Match(s,"[\\u4e00-\\u9fa5]+").Tostring()>"")