2011-03-15 43 views

回答

5

我以前IronPython爲表達式求值。

+0

更多的通用腳本語言不是數學解析器,但有一個給予好評,因爲OP沒有說明,如果他想這樣做象徵性的操作。 – Amy 2011-03-15 13:29:42

+0

@Inuyasha其實當我在項目中使用它時,我只需要基本的+, - 和*計算器,即使沒有變量。所以使用腳本引擎看起來好像過度。但它使用起來非常簡單,所以我付出了努力。 – Max 2011-03-15 13:50:43

+0

我覺得IronPythons是我的目的太慢了。我需要一個解析器,編譯公式,所以我也沒必要每次我要求它的時間來分析它.. – 2011-03-15 13:52:58

8

我發現這三個截至今天,所有這些都支持變量和用戶自定義函數,但只似乎muParser支持運營商定製

對於我的小玩具項目,我用Math Parser .NET去,因爲它支持^爲權力而NCalc不和muParser有點不吸引我一樣多。還有一個好處:Math Parser .NET支持原生C#委託作爲自定義函數!其他圖書館提供的解決方案看起來並不那麼優雅。

3

你可以嘗試Mathos分析器(https://mathosparser.codeplex.com/),它允許您添加自定義運營商,自定義變量和自定義功能。它幾乎支持來自Math命名空間的所有操作,並且具有一組預先構建的操作符。由於解析器沒有那麼多的依賴關係,只需將源代碼粘貼到項目中(它少於500行代碼)就非常容易!

1

嘗試反諷(http://irony.codeplex.com)。它允許你解析表達式,你可以做所有事情:構建一個用於極快計算的代表,突出語法或者像我的項目一樣,轉換爲Latex並在數學公式中顯示它的表示形式。