【问题标题】:Javascript math parser libraryJavascript数学解析器库
【发布时间】:2011-04-25 14:28:51
【问题描述】:

Javascript 中有没有好的数学解析器?我希望能够解析如下内容:

LOG(3.14)+5^2+POW(2,LN(X*2,Y))

谢谢,

【问题讨论】:

  • 这是为了工作吗?如果没有,我会以此为契机编写自己的文章。

标签: javascript math string-parsing


【解决方案1】:

试试nerdamer

var result = nerdamer('log(3.14)+5^2+2^(log(X*2)/log(Y))').evaluate();
document.getElementById('text').innerHTML = result.text();
<script src="http://nerdamer.com/js/nerdamer.core.js"></script>
<div id="text"></div>

【讨论】:

    【解决方案2】:

    我知道这是一个老问题,但我偶然发现了它,我有something to help。不如 mathjs 完整,但有用且快速。

    【讨论】:

      【解决方案3】:

      这是一个全新的举措:

      http://mathjs.org

      带有一个广泛且易于使用的解析器,它还支持变量和函数的赋值和使用,就像您的示例表达式一样。

      【讨论】:

        【解决方案4】:

        使用这个。它定义了一个“运算符”对象,让您可以定义自己的运算符。

        http://jsfromhell.com/classes/math-processor

        警告:它使用with。如果您不知道为什么这样做很危险,请在将此代码用于任何关键问题之前先弄清楚。或者,您可以在没有with 的情况下重新编写它。

        【讨论】:

        • 我不会太担心with,因为:{p: MathProcessor.prototype}
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-29
        • 2010-09-11
        相关资源
        最近更新 更多