如何转换以下内容:
var n = "2x^3+3x+6";
到
var x = a number
var n = 2x^3+3x+6;
在 JavaScript 中?
如何转换以下内容:
var n = "2x^3+3x+6";
到
var x = a number
var n = 2x^3+3x+6;
在 JavaScript 中?
很难猜测确切的要求和上下文是什么,但如果你想大致坚持你的变量所展示的语法,我建议使用数学表达式解析器。
使用js-Expression-eval,它可能看起来像这样:
var formula = "2*x^3+3*x+6";
var expression = Parser.parse(formula);
var result = expression.evaluate({ x: 3 });
运行小提琴
如果您想拥有自己的语法 - 例如,省略 * 符号以与变量相乘 - 您必须滚动自己的解析器,例如使用jison 之类的东西。
var x = a number;
var n = eval("2*Math.pow(x,3)+3*x+6")