怎么判断四则运算中,是否有无效运算符
如何判断四则运算中,是否有无效运算符?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 codeFunction 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 codePublic Function IsGoodFormula(ByVal sString As String) As Boolean If Not sString Like "*[!0-9+-\*/]*" Then IsGoodFormula = TrueEnd Function