首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么判断四则运算中,是否有无效运算符

2012-07-30 
如何判断四则运算中,是否有无效运算符?http://topic.csdn.net/u/20120718/10/cf855a05-8dfd-4084-a67b-eca

如何判断四则运算中,是否有无效运算符?
http://topic.csdn.net/u/20120718/10/cf855a05-8dfd-4084-a67b-eca3a0405414.html

VB code
Function CalcStr(StrNum As String) As Double  Set MSSC = CreateObject("MSScriptControl.ScriptControl")  MSSC.Language = "VBScript"  CalcStr = MSSC.Eval(StrNum)  Set MSSC = NothingEnd Function 


现在的问题是,如何判断四则运算中,是否有无效运算符?


2+6 8

23p6+66含有无效运算符p 其结果是 #VALUE!

sqrt(6+cos(23*pi()/180))2.630685244
25/9+sin(45*pi()/180)3.484884559

oo+55含有无效运算符oo 其结果是 #NAME?


[解决办法]
整个字符串逐个字符比较一下也没多少事. 

四则运算, 除了数字和小数点就剩下加减乘除和括号了. 

只要不是以上的字符就是无效字符.
[解决办法]
IsNumeric 函数示例
本示例使用 IsNumeric 函数判断变量的值是否可为数值。

Dim MyVar, MyCheck
MyVar = "53" ' 指定值。
MyCheck = IsNumeric(MyVar) ' 返回 True。

MyVar = "459.95" ' 指定值。
MyCheck = IsNumeric(MyVar) ' 返回 True。

MyVar = "45 Help" ' 指定值。
MyCheck = IsNumeric(MyVar) ' 返回 False。


[解决办法]
VB code
Public Function IsGoodFormula(ByVal sString As String) As Boolean    If Not sString Like "*[!0-9+-\*/]*" Then IsGoodFormula = TrueEnd Function 

热点排行