4

重複の可能性:
テキスト フィールドから Javascript を使用して数式を実行する

以下を変換するにはどうすればよいですか。

var n = "2x^3+3x+6";

var x = a number
var n = 2x^3+3x+6;

JavaScriptで?

4

2 に答える 2

16

正確な要件とコンテキストが何であるかを推測するのは非常に困難ですが、変数によって示される文法に大まかに固執したい場合は、数式パーサーを使用することをお勧めします。

js-Expression-evalを使用すると、次のようになります。

var formula = "2*x^3+3*x+6";
var expression = Parser.parse(formula);
var result = expression.evaluate({ x: 3 });

フィドルを実行する

独自の文法が必要な場合 (たとえば、変数との乗算で * 記号を除外する場合)、 ji​​sonなどを使用して、独自のパーサーをロールする必要があります。

于 2013-01-10T17:06:25.343 に答える
15
var x = a number;
var n = eval("2*Math.pow(x,3)+3*x+6")
于 2013-01-10T16:53:25.617 に答える