近日要把ASP程序改为ASP.NET(C#),原来的用了一个EVAL计算运费公式,换到C#里没有直接的相应功能
例:替换完重量后公式为((10-0.5)/0.5*55+210)/7.5*0.55,想得出结果
找了一上午,有说自己按运算符号优先级写个类计算,有说用CodeDom,还有说用堆栈Stack算法......
找到最后在一个不起眼的回复中找到下面方法,经测试可以使用
DataTable dtl = new DataTable();
string aa = dtl.Compute("((10-0.5)/0.5*55+210)/7.5*0.55","")).ToString(".##");
这应该算是最简单的实现方法了吧^_^