日期:2014-05-17  浏览次数:20914 次

求解:关于算术公式的分解与计算
关于算术公式的分解与计算:
有费用列表如:
=========================
TYPE       iNo       AMT
-------------------------
A             1           118.00
A             2           82.00
B             1           39.00
B             2           90.00
C             1           ????
=========================
C1的金额AMT将按照
公式1:
C1=(A1+A2)*0.2+B1+B2*0.1
或者
公式2:
C1=A*0.2+B1+B2*0.1   计算.

要实现的就是输入公式1或者公式2都可以得到   类别C,第1项的金额AMT(88.00)
公式2与公式1的不同就是用A代表类别为A的所有项目(A1,A2,...An...).
公式是客户根据需要给出的。
公式中包含的运算符肯能有     +-*/()     即英文半角的四则运算符号及圆括号。

------解决方案--------------------
A1=118.00
A2=82.00
B1=39.00
B2= 90.00

'先预算分类总和
A = A1 + A2
B = B1 + B2
'输入公式为字符串
s = "(A1+A2)*0.2+B1+B2*0.1 "
s = Replace(s, "+ ", "+ ")
s = Replace(s, "- ", "- ")
s = Replace(s, "× ", "* ")
s = Replace(s, "/ ", "/ ")
s = Replace(s, "( ", "( ")
s = Replace(s, ") ", ") ")
C1= Eval(s)
response.write C1
------解决方案--------------------
直接使用eval就行
------解决方案--------------------
恩,还是eval

具体你可以看看shopex的后台的运费折扣管理这块

演示地址http://www.shopex.cn/products/ShopExSingle_test.html



------解决方案--------------------
偶是来接分的。