如何指示字符串是否具有数值

the*_*eta 6 vbscript

我循环遍历字符串变量data,它可能具有整数数值,如"123".如果这个字符串变量有数值,我想表明它,并考虑使用这样的:

If IsNumeric(CInt(data)) Then 
    WScript.Echo "Number"
Else
    WScript.Echo "String"
End If
Run Code Online (Sandbox Code Playgroud)

但是CInt()每次data变量都无法转换为整数时会引发错误:

Type mismatch: 'CInt'

如何指示字符串在vbscript中是否具有整数值?

4m0*_*m01 11

IsNumeric vb脚本的函数可用于确定表达式是否可以作为数字计算.它返回布尔值,具体取决于表达式

请注意,如果expression是日期表达式,则IsNumeric返回False.

现在,在你的代码中你错了,即使它不是数字,你试图将它转换为整数

您可以在代码中使用此代码 -

If IsNumeric(data) Then       
   WScript.Echo "Number"
Else
   WScript.Echo "String"
End If
Run Code Online (Sandbox Code Playgroud)

  • 我确信这是一个常识,但如果传入IsNumeric()的字符串看起来像"1013230924d3"或"1013230924E3",它仍将评估为TRUE.D和E被认为是科学的符号,事情往往会破解:) (3认同)