123d-8是什么意思?vbs里面为什么IsNumeric("123d-8" )也返回true

2024-12-12 17:09:47
推荐回答(2个)
回答1:

>>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团队!

回答2:

如果想检测字符串中的字符是否都是数字的话,可以用以下方法
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的作用,就是用来标示字符串中的某个字符是否为数字用的。