函数

NCalc 本身已经实现的函数列表如下:

函数名 描述 用例 用例结果
Abs 返回绝对值 Abs(-1) 1M
Acos 返回余弦值对应的角度 Acos(1) 0d
Asin - - d
Atan - - d
Ceiling 向上取整 Ceiling(1.5) 2d
Cos - - d
Exp 相当于 e 的 X 次幂 Exp(0) 1d
Floor 向下取整 Floor(1.5) 1d
IEEERemainder IEEE 754 标准下的取余操作,具体细节自行百度 IEEERemainder(3, 2) -1d
Log 以第二个参数为底取对数 Log(1,10) 0d
Log10 以10为底取对数 Log10(1) 0d
Max - Max(1,2) 2
Min - Min(1,2) 1
Pow - Pow(3,2) 9d
Round 第二个参数表示保留几位小数,Round 的舍入规则是“四舍六入五成双”,具体的舍入中间值可以在构造 Expression 对象时用 EvaluateOption.RoundAwayFromZero 设定。 Round(3.222,2) 3.22d
Sign 取符号 Sign(-10) -1
Sin - - d
Sqrt 取平方根 Sqrt(4) 2d
Tan - - d
Truncate 截取整数部分 Truncate(1.7) 1

注:结果中的 M 代表 Decimal 类型,d 代表 Double 类型。

其他通用函数:

函数名 描述 用例 结果
in 判断第一个元素是否在后面的一系列值之中 in(1 + 1, 1, 2, 3) true
if 类似于 expression ? a:b 。根据表达式结果在后两个参数中选择一个返回 if(3 % 2 = 1, 'value is true', 'value is false') 'value is true'

参考链接

NCalc - Mathematical Expressions Evaluator for .NET


tangyikejun
259 声望36 粉丝