可能重複:
Running an equation with Javascript from a text field轉換公式字符串方程
我如何轉換以下:
var n = "2x^3+3x+6";
要
var x = a number
var n = 2x^3+3x+6;
在JavaScript中?
可能重複:
Running an equation with Javascript from a text field轉換公式字符串方程
我如何轉換以下:
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 });
運行Fiddle
如果你想擁有自己的語法 - 離開了*符號乘法變量,例如 - 你將不得不推出自己的解析器,例如使用類似jison的東西。
偉大的超級簡單的解決方案,謝謝! –
您必須爲您打算使用的表達式語法編寫解析器。 – Pointy
JavaScript中的'^'運算符是二進制XOR,而不像您期望的那樣。 – Bergi
您期望在等式中有哪些操作符? – ATOzTOA