JavaScript 数学库

标签 javascript math formula

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

在 UI 端,用户可以输入 varA 和 varB 的值。 JavaScript 代码应该获取这两个值,将它们注入(inject)到如下公式中:

varA + varB ** (1/2.0)

然后返回结果。

我面临的问题是某些操作(如上面示例的 **)不会直接映射到 JavaScript,必须以某种方式将这些公式转换为它。有没有任何库可以实现我可以使用的此类内容?

编辑:我发现this ,它正是我所需要的(并且合并了 ^ 而不是 **,这是一个 replace 。)

还有更好的吗?

最佳答案

您可以使用 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

关于JavaScript 数学库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14313210/

相关文章:

javascript - 如何在浏览器中使用 Javascript 或 Jquery 将图像 URL 输出到控制台日志?

javascript - 选取文件上的纯 Javascript 事件监听器

php - 如何取出号码 - php

java - 对于序列中的每个成员,确定它是否是完全平方数

excel - 如何在excel的所有行中将SUM转换为MAX?

html - 不同值的不同颜色从 0 值(应用黑色)到无穷大值(应用白色)

vba - Excel 公式或 VBA : Find match's address in separate table with 2 column criteria - No helper columns

javascript - Node.JS 套接字服务器和同一服务器上的连接速度变慢

javascript - 如何在youtube.com播放列表之类的浏览器中保持全屏模式?

javascript - 用一条线连接两个圆圈(使用 DOM 元素)