诛仙3 魔青云器魄选择:ASP 加减法问题???

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 21:07:48
在一个文本框中“数字”及“运算符”,可以计算出结果吗
例如我输入“40*2+21*3”然后确定,能算出结果吗,代码怎么写??

<form name="form1" method="post" action="">
<input type="text" name="textfield">
<input name="act" type="hidden" id="act" value="go">
<input type="submit" name="Submit" value="提交">
</form>
<%
if request("act")="go" then
response.Write(eval(request("textfield")))
end if
%>

当然能算出结果啦
VB学过吗?VB能用的ASP也就基本可以啦

www.bbsto.com-----一点水网络工作室。合肥

应该是VBS脚本语言,ASP是个环境,他用的语言是脚本语言可以常见的是VBS和JAVASCRIPT等,当然可以安其他的!用ASP做的动态页面做个表单提交,计算方法就是

a=Request("a")
b=Request("b")
c=Request("c")
d=Request("d")
e=a*b+c*d
<%=e%>

大致就是这样

你自己做一个算术解析器就可以了,我把思路跟你说一下。
1、把输入的内容当成字符串,先确保它的输入是合法的表达式,即是一个可以算出结果的字符串。
2、分析字符串为数值与运算符。
3、运算。
4、输出结果。
注意计算时的优先及,特别是有小括号的时候。
以桉主的表达式为例:先分解为:
40,*,2,+,12,*,3
来计算结果,注意,后面的乘法优先级比中间的加法要高,因此要先算乘法。算法上可以用推栈来处理。

(楼上的可以解决计算机自己能解决的表达式,是一个可以解决简单表示式的方法。)

eval(文本框名.value)

这个还是相当有难度的。