level 0
这个问题问过多少次了呢?回答过两次了。。。很简单的。。。。。还问,I服了U....
2005年11月04日 02点11分
8
level 0
IT技术交流中心 QQ群:1035574主要是软件开发
2005年11月04日 16点11分
10
level 0
如果用c写那就是栈的出入。用vb不知道从哪儿下手,期待高手中......
2005年11月04日 17点11分
12
level 0
已经回答第三次了。。。。MS有script control引用之。。。起名scdim a as stringa="12+12*12-12/13+(1-2)*12+sin(22)"dim vv=sc.eval(a)msgbox v
2005年11月04日 23点11分
13
level 0
当然你也可以自己写一个,但这种事情,我看还是免了吧。。。script control可以用来解释vbscript && javascript 计算算式是其的一个功能....自己写的话....嗯推荐用array....
2005年11月04日 23点11分
14
level 0
刚刚写的计算不带括号的四则运算的...注意只支持+,-,*,/不过偶还是推荐你用script control你可以给其加上括号...如果有兴趣的话...其实也没有想象的复杂...
2005年11月05日 00点11分
15
level 0
Public Function getvalue(vs As String) As Double '计算四则的没有括号的表达式....+-*/ Dim sadd, ssub, smul, sdiv 'array for add sub mul and div Dim t1
#, t2#
, t3
#, t4, sum#
Dim i, j, k, l 'for loopping Dim strs$ 'temp for memory vs no change strs = Replace(vs, " ", "") 'kill spaces you should add more judge sadd = Split(strs, "+") '有加法吗? For i = LBound(sadd) To UBound(sadd) ssub = Split(sadd(i), "-") '有减法? For j = LBound(ssub) To UBound(ssub) smul = Split(ssub(j), "*") '有乘法? For k = LBound(smul) To UBound(smul) sdiv = Split(smul(k), "/") '有除法? For l = LBound(sdiv) To UBound(sdiv) If l = LBound(sdiv) Then t1 = Val(sdiv(l)) Else t1 = t1 / Val(sdiv(l)) End If Next l smul(k) = t1 If k = LBound(smul) Then t2 = Val(smul(k)) Else t2 = t2 * Val(smul(k)) End If Next k ssub(j) = t2 If j = LBound(ssub) Then t3 = Val(ssub(j)) Else t3 = t3 - Val(ssub(j)) End If Next j sadd(i) = t3 sum = sum + Val(sadd(i)) Next i getvalue = sumEnd Function
2005年11月05日 00点11分
16
level 1
非常感谢,呵呵~~使用script control 控件。我也没说这个难啊,当时得到这题时,出题者说的这题很初级。不过本人驽钝。Ps:再拜。
2005年11月05日 02点11分
19
level 6
http://www.play78.com/blog/blogview.asp?logID=18
2005年11月05日 02点11分
20
level 0
不是先把TEXT1输入的值用"ISXX"<=XX是一个判断TEXT1的数是否是数字,用与或非加"+","-"等来判断输入的数是否有运算符号并判断运算符号是否连续有两个或多个以上,至于括号,可以用FUNTION来自定一个函数来运算吧~ ^_^
2005年11月08日 00点11分
21