【オリジナル】.NETオープンソース表現計算コンポーネントの紹介と使用
6054 ワード
このブログのすべての記事分類の総目次:http://www.cnblogs.com/asxinyu/p/4288836.html
このブログの他に.NETオープンソース項目記事カタログ:http://www.cnblogs.com/asxinyu/p/4329755.html
1.はじめに
日常開発には多くのところで表現計算に使われています.例えば、膨大で柔軟な人的資源管理システムの中には、給与管理に関連して、いくつかの単位で給与書式や計算方法が常に変動する場合があります.表式の計算に対する需要も多いです.今日は、オープンソースのNET表式計算コンポーネントNCalcを紹介します.このコンポーネントは小さいですが、機能が強くて、いろいろな種類の表現計算が含まれています.その機能と使い方を詳しく紹介します.
2.NCalcコンポーネントの機能特徴
まず、このコンポーネントはオープンソースで、オープンソースアドレスはhttp://ncalc.codeplex.com/です. ,Dllとソースコードをダウンロードできます.実現過程を見てみてください.
第二に、このコンポーネントは、数学式計算だけでなく、多くの基礎的な数学関数、パラメータをサポートし、論理演算記号をサポートします.使うのは簡単です
3.NCalcコンポーネントの基本利用入門
NCalcの使用はとても簡単で、一つのExpressionオブジェクトを初期化して、それをパラメータに入れて、Evaalute方法を呼び出して結果を得ることができます.以下では、NCalcによってサポートされる各種表現計算について簡単なデモを行います.以下の内容を含みます.
1.最も簡単な数学演算
2.単純な論理演算
3.簡単なパラメータ表式計算
4.数学関数演算をサポートする
先に効果図を見ます
コアコードを再確認:
この基礎ができたものを自由に使って、たくさんの道具を作ることができます.みんなの役に立ちますように.また、より多くの機能があります.
このブログの他に.NETオープンソース項目記事カタログ:http://www.cnblogs.com/asxinyu/p/4329755.html
1.はじめに
日常開発には多くのところで表現計算に使われています.例えば、膨大で柔軟な人的資源管理システムの中には、給与管理に関連して、いくつかの単位で給与書式や計算方法が常に変動する場合があります.表式の計算に対する需要も多いです.今日は、オープンソースのNET表式計算コンポーネントNCalcを紹介します.このコンポーネントは小さいですが、機能が強くて、いろいろな種類の表現計算が含まれています.その機能と使い方を詳しく紹介します.
2.NCalcコンポーネントの機能特徴
まず、このコンポーネントはオープンソースで、オープンソースアドレスはhttp://ncalc.codeplex.com/です. ,Dllとソースコードをダウンロードできます.実現過程を見てみてください.
第二に、このコンポーネントは、数学式計算だけでなく、多くの基礎的な数学関数、パラメータをサポートし、論理演算記号をサポートします.使うのは簡単です
3.NCalcコンポーネントの基本利用入門
NCalcの使用はとても簡単で、一つのExpressionオブジェクトを初期化して、それをパラメータに入れて、Evaalute方法を呼び出して結果を得ることができます.以下では、NCalcによってサポートされる各種表現計算について簡単なデモを行います.以下の内容を含みます.
1.最も簡単な数学演算
2.単純な論理演算
3.簡単なパラメータ表式計算
4.数学関数演算をサポートする
先に効果図を見ます
コアコードを再確認:
1 string[] temp = txtExpress.Text.Trim().Split(new String[] { "\r
" },
2 StringSplitOptions.RemoveEmptyEntries);
3 foreach (var item in temp )
4 {
5 // , ,
6 if (item.Contains(';'))
7 { // , ;
8 string[] param = item.Split (new char[]{';'},
9 StringSplitOptions.RemoveEmptyEntries);
10 Expression exp = new Expression(param[0]);
11 //
12 for (int i = 1; i < param.Length ; i++)
13 {
14 // , ,
15 string[] nameValue = param[i ].Split ('=');
16 // , ,
17 exp.Parameters[nameValue[0]] = Convert.ToDouble( nameValue[1]);
18 }
19 //
20 txtResult.Text += (exp.Evaluate().ToString () + "\r
");
21 }
22 else
23 {
24 string result = new Expression(item).Evaluate().ToString();
25 txtResult.Text += (result + "\r
");
26 }
27 }
4.リソースこの基礎ができたものを自由に使って、たくさんの道具を作ることができます.みんなの役に立ちますように.また、より多くの機能があります.