問題タブ [ncalc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1400 参照

vb.net - Visual Basic .NET プロジェクトに NCalc をインストールするには?

Visual Basic (.NET) を使用して、f(x) = x^2+6x-9 のような関数式を評価する必要があるプログラムを作成しています。

これを行う唯一の方法は NCalc を使用することだと思うので、ダウンロードしてみると、[プロジェクト] > [NuGet パッケージの管理] の下にインストールされていることがわかります。しかし、私は次に何をすべきかまったくわかりません。使用する前に、プロジェクトで何かを宣言する必要がありますか? これでもエラーが発生するためです。

誰かが私を助けることができますか?

0 投票する
2 に答える
309 参照

c# - いつから 3 / 5 = 0 になったのですか?

これで、数式への代入を処理する複雑な C# コードができました。ほぼ完璧に機能しています。ただし、方程式(x - y + 1) / zと値が与えられるとx=2 y=0 z=5、惨めにそして不可解に失敗します。

問題は、値が関数に間違って渡されることではありません。それはいいです。問題は、使用する型に関係なく、C# が 3/5=0 と見なしているように見えることです。

問題のコードは次のとおりです。

次のように渡さargsれます。

(ちなみに、NCalcを使用すると、Pow()関数はそれによって評価されます-これは正常に機能します。)

結果?difference = 0.

floatを使用するときと、簡単な計算を試みるときに同じことが起こります。

同じ結果になります。

どうしたの?

0 投票する
1 に答える
1986 参照

.net - NCalcで「if (12 > 8)」がfalseに解決されるのはなぜですか?

NCalc の新機能。

評価する数式があり、(私にとって) 予期しない結果が得られます。

使用される @T_No_Starters パラメータ = 12。

数式が if (@T_No_Starters >= 8 ,'T','F') 結果 FALSEの場合

数式がif (@T_No_Starters >= 8.0 ,'T','F')結果TRUEの場合

数式がif (@T_No_Starters >= 10 ,'T','F')結果TRUEの場合

何が起こっているのかよくわかりません.なぜ 8 は False なのに 8.0 は True なのに 10 は True なのですか? 評価が常に正しいことを確認するにはどうすればよいですか? すべての数値を 10 進数に変換しますか? パラメータの型のようなものを設定できますか? パラメータを入力するのはいつですか?

以下は、上記に到達するために使用するテストコードです。

数式の値を 10 進数に変更しないでください。8.0 以外の 8 スターター以上。それは正しく見えません。パラメータ ディクショナリは文字列と文字列で構成されています。一部は文字列であるため、使用する必要があります。値が必要なときにパラメーターが値であることを確認するのと同じくらい簡単ですか?

0 投票する
1 に答える
469 参照

ncalc - bool を 0 または 1 に評価するように NCalc を設定できますか?

経営陣は、次のような計算でブール式を使用することをお勧めします。

私は数式の評価に NCalc を使用していますが、残念ながら、整数とブール値を乗算しようとしているため、NCalc は文句を言います。

false が 0 に変換され、true が 1 に変換されるように NCalc を拡張する方法はありますか?

0 投票する
2 に答える
1068 参照

c# - NCalc Expression.Evaluate() が間違った出力を与える

次のようなコードがあります

元の式 :- [OD1000]=[OD1100]+[OD1200]+[OD1350]+[OD1450]

解析された式と呼ばれる評価の後:- {([OD1000])= (((([OD1100])+ ([OD1200])+ ([OD1350])+ ([OD1450])}

次のようにパラメータ値を追加してテスト

1) 9.33 = 2.25 + 3.25 + 1.5 + 2.33

2) 15617031.48 = 15226149.36 + 166208.00 + 0.00 + 224674.12

評価後、1) は true を返し、2) は false を返しますが、どちらの式も正しいです。

提案してください。

0 投票する
0 に答える
610 参照

c# - c# ncalc - 行 1:1 の 'x' に EOF がありません

方程式を解くための遺伝的アルゴリズムをいじっています。それで、私はNCALと呼ばれるこのライブラリを見つけました。これは良い方法だと思われます。

そこで、次のような NCALC 式になるいくつかのランダムな文字列を生成しようとしました。

次に、これらの要素をループして、合計をゴール関数と照合します。次のようにします。

簡単に思えますが、「行 1:1 の 'x' に EOF がありません」という例外が発生し続けます。これを解決する方法について何か提案はありますか? または、より簡単な方法。:) ゴール関数を表す方程式を見つけたいです。

br

0 投票する
1 に答える
760 参照

c# - Ncalc 10 進数を 10 進数で割る

Ncalcで小数を別の小数で割る方法はありますか?

やってみると

私は得る:

「演算子 '/' は、型 'decimal' および 'double' のオペランドには適用できません」.