如何使用 AS3 评估数学公式?
没什么特别的,比如(10/3)*4+10
.
Thanks.
虽然你可以使用一个巨大的评估库,比如D.eval http://www.riaone.com/products/deval/ or AS3Eval http://eval.hurlant.com/,你真正需要的就是这样简单的东西数学解析器 http://www.flashandmath.com/intermediate/mathparser/bkde.zip (有关 MathParser 的更多信息 http://www.flashandmath.com/intermediate/mathparser/mp1.html)
以下是使用 MathParser 的方法:
package {
import bkde.as3.parsers.*;
import flash.display.Sprite;
public class MathTest extends Sprite {
public function MathTest() {
var parser:MathParser = new MathParser([]);
var compiledObj:CompiledObject = parser.doCompile("(10/3)*4+10");
var answer:Number = parser.doEval(compiledObj.PolishArray, []);
// EDIT: In case you wanted variables
var xyParser:MathParser = new MathParser(["x", "y"]);
var xyCompiledObj:CompiledObject = xyParser.doCompile("(x/3)*y+10");
var xyAnswer:Number = xyParser.doEval(xyCompiledObj.PolishArray, [10, 4]);
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)