Javascript数学库

问题描述 投票:0回答:2

我正在开发一个项目,用户可以在其中定义要针对用户输入执行的公式。

在UI方面,用户可以输入varA和varB的值。 javascript代码应该拾取这两个值,将它们注入公式,如下所示:

varA + varB ** (1/2.0)

然后返回结果。

我面临的问题是一些操作(如上面举例说明的**)没有直接映射到javascript,不得不以某种方式将这些公式转换为它。是否有任何库可以实现这种我可以使用的东西?

编辑:我找到了this,它完全符合我的需要(并且使用^而不是**,这是一个replace。)

还有更好的吗?

javascript math formula
2个回答
2
投票

您可以使用math.js库中的表达式解析器。虽然使用^角色也是力量。

http://mathjs.org

用法示例:

var parser = math.parser();
parser.eval('a = 1.2 / (2.3 + 0.7)');   // 0.4
parser.eval('2 * a');                   // 0.8
parser.eval('5.08 cm in inch');         // 2 inch
parser.eval('sin(45 deg) ^ 2');         // 0.5
parser.eval('9 / 3 + 2i');              // 3 + 2i
parser.eval('det([-1, 2; 3, 1])');      // -7

0
投票

使用ES6您可以执行以下操作:

let varA = 1
let varB = 5
const answer = varA + varB ** (1 / 2.0)

let varA = 1
let varB = 5
const answer = varA + varB ** (1 / 2.0)
const output = `${varA} + ${varB} ** (1 / 2.0) =\n${answer}`
document.querySelector('.output').innerHTML = output
.output {
  font-size: 1.5em;
}
<pre class="output"></pre>
© www.soinside.com 2019 - 2024. All rights reserved.