4
A
回答
8
虽然你可以使用一个巨大的eval LIB像D.eval或AS3Eval,你真正需要的是这样的简单MathParser(More info about the MathParser)
这里是你如何使用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]);
}
}
}
4
1
如果您想避免使用库,您可以尝试使用ExternalInterface.call
来访问Javascript的eval函数。
例如:
var formula:String = '1+1';
var result:* = ExternalInterface.call('eval', formula);
您可能要检查是否result == 'undefined'
因为这会在公式语法表示这是一个错误。
相关问题
- 1. xml字符串中的数学公式
- 2. 将字符串转换公式,数学公式在C#
- 3. PHP脚本的数学公式
- 4. 动作脚本字符串编号
- 5. 解析字符串,用动作脚本
- 6. Android:从字符串解析简单的数学公式
- 7. SED和AppleScript shell脚本 - 带字符串
- 8. 如何评估数学公式包含字符串?
- 9. 如何将字符串转换为数学公式
- 10. 动作脚本3.0应该只有数字的字符串变量
- 11. 字符串的数学表达式
- 12. 带有多个函数的PHP数学公式
- 13. fgrep带有包含ksh脚本内部空格的字符串
- 14. Java脚本的加入了一些带有字符串
- 15. 字符串格式不适用于Eval
- 16. 动作脚本3:调用字符串变量函数
- 17. 红宝石的eval字符串函数
- 18. matlab中的符号数学公式
- 19. Excel公式从字符串
- 20. 获取对象的名称作为没有eval的字符串
- 21. Angular2:获取不带参数的字符串作为字符串
- 22. shell脚本 - 如何分割带分隔符的字符串 “”
- 23. jQuery数学公式
- 24. Shell脚本和字符串操作
- 25. 字符串中的Shell脚本参数
- 26. c#和动态字符串脚本
- 27. 作为字符串的表达式(shell脚本)
- 28. 如何使用字符串来解决使用python的数学公式?
- 29. 将带有url的动作字符串转换为HTML链接
- 30. Json字符串的JavaScript eval()注入全局作用域函数
ActionScript 3不再支持开箱即用的eval函数,您建议的内容可能仅适用于ActionScript 2. – 2012-07-12 21:25:28
即使在AS2中也不行。 Eval只能用于访问对象的参数 - 这是无用的。 – 2012-07-12 21:43:28
完全重做。第一次回答时,我用了一个旧的,显然不正确的参考。希望你会重新考虑反对票(尽管如果你打算放弃它,让我知道我能做些什么来提供更好的答案) – Patrick 2012-07-14 00:38:09