>>123d-8是什么意思
"d","-",这里是科学计数法。
123d-8 = 123e-8 = 123*0.00000001= 0.00000123
isNumeric函数支持 科学计数法。
所以返回为true
http://baike.baidu.com/view/1229896.htm
'=============VBS团队======catkeno=======================
'Created By catkeno From VBS团队!
如果想检测字符串中的字符是否都是数字的话,可以用以下方法
for i = 1 to len(string) 'string表示你输入的字符
if not isnumeric(mid(string,i,1) '逐个字符检查是否为数字
msgbox '弹出提示或是你想要的操作
exit for
end if
next
如果需要强制输入的字符都为数字的话,可以用 do loop until 语句,例如
Do
mystring = InputBox
isnum = "" '初始化isnum
For i = 1 To Len(mystring)
If Not IsNumeric(Mid(mystring, i, 1)) Then
MsgBox
isnum = "error" '这里可以随便修改,只是用isnum的空值或非空值来测试条件而已
Exit For
End If
Next
Loop Until IsNumeric(mystring) = True And Len(isnum) = 0
说明,如楼上所说,d、e、,(逗号)、.(句号)等,在vb里均被视为数字,所以需要逐个字符的检测,isnum的作用,就是用来标示字符串中的某个字符是否为数字用的。