1

在我的页面中,我接受来自用户的输入。我评估那个表达式并打印它的输出。

例如:

输入3 + 5

输出8

我正在通过javascript完成这项工作。我面临的问题是复数/表达式。

我能够对复数进行数学运算,但为此我需要一个标志,表明给定的输入是一个复数。

复数可以是任何形式。

例如

  1. 输入(-4)^(1/2) + (-9)^(4/8)

    输出5 i

    这里的问题是如何将输入解释为2i + 3i. 如果输入是 form ,我可以执行操作2+3i + 3+4i

    我已经提到了这些链接:

    http://www.mathsisfun.com/numbers/complex-number-calculator.html

    https://www.inkling.com/read/javascript-definitive-guide-david-flanagan-6th/chapter-9/complex-js-a-complex-number

4

1 回答 1

1

使用 math.js 库来评估你的表达式怎么样?

http://mathjs.org

您可以输入如下表达式:

math.eval('3 + 5'); // Number 8
math.eval('2i + 3i'); // Complex 5i
math.eval('(-4)^(1/2) + (-9)^(4/8)'); // ~ Complex 5i 

由于 JavaScript 的浮点数,最后一个表达式有一点舍入错误。

于 2013-10-04T09:16:37.417 回答