當有一個以字串表示的數學運算式,如:"2 + 3 * 5"
,要計算結果至少有以下動作需要處理:
若是用NCalc則能很簡單的得到結果。
類型 | 符號 |
---|---|
邏輯運算 | or , ` |
關係運算 | = , == , != , <> , < , <= , > , >= |
加法運算 | + , - |
乘法運算 | * , / , % |
位元運算 | & , ` |
否定與負號 | ! , not , - , ~ |
括號與一般數值 | ( , ) , values |
#
包起來,如:#2001/01/01#
,否則會變成除法運算)以上函數與.NET的Math類別中提供的函數用法相同。
in
定義
in (element, value1, ...)
說明
回傳element是否包含在value組中。
範例
in(1 + 1, 1, 2, 3)
結果為true
。
if
定義
if (condition, valueTrue, valueFalse)
說明
condition為true時回傳valueTrue,false時回傳valueFalse。
範例
if(3 % 2 = 1, 'correct', 'wrong')
結果為'correct'
。
自訂函數
範例:自訂MyAdd(a, b)
函數做a + b加法運算。
使用時要用[]
括起來,如:2 * [x] + 5 * [y]
,x和y即為參數。
※ 不括起來似乎也能使用。
參數除了數值之外,也可以是另一個運算式。
參考資料
NCalc-Edge