1

私のページでは、ユーザーからの入力を受け付けます。その式を評価し、その出力を出力します。

例えば:

入力:3 + 5

出力:8

この作業はjavascriptで行っています。私が直面している問題は、複素数/式にあります。

複素数に対して数学演算を実行できますが、そのためには、指定された入力が複素数であることを示すフラグが必要です。

複素数はどのような形でもかまいません。

例えば

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

    出力:5 i

    ここでの問題は、入力を として解釈する方法2i + 3iです。入力がフォームにある場合、操作を実行できます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 に答える