Skip to content

NCalc 函数

节选、翻译自 NCalc docs - Operators

该框架已内置一系列可用函数。

名称描述使用方法结果
Abs返回指定数字的绝对值。Abs(-1)1d
Acos将指定数字进行反余弦计算,返回结果。Acos(1)0d
Asin将指定数字进行反正弦计算,返回结果。Asin(0)0d
Atan将指定数字进行反正切计算,返回结果。Atan(0)0d
Ceiling返回比指定数字大或相等的最小整数。Ceiling(1.5)2d
Cos返回指定角的余弦值。Cos(0)1d
Exp返回自然常数e的指定次幂。Exp(0)1d
Floor返回比指定数字小或相等的最大整数。Floor(1.5)1d
IEEERemainder返回一指定数字被另一指定数字相除的余数。IEEERemainder(3, 2)-1d
Ln返回指定数的自然对数。Ln(1)0d
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将一个值四舍五入到最接近的整数或指定的小数位数。可以通过在构造表达式对象时使用ExpressionOptions.RoundAwayFromZero来改变中间数的行为。Round(3.222, 2)3.22d
Sign返回一个整数,该整数指示指定的数的符号:如果该数大于零,则返回1;如果该数小于零,则返回-1;如果该数为零,则返回0。Sign(-10)-1
Sin返回指定角的正弦值。Sin(0)0d
Sqrt返回指定数的平方根。Sqrt(4)2d
Tan返回指定角的正切值。Tan(0)0d
Truncate返回指定数的整数部分。Truncate(1.7)1

译者:
三角函数相关的计算单位为弧度
结果中,数字后面的d是指该数字是双精度浮点数
其中Round使用两个参数会得出奇怪结果未能解决

它还内置一些一般用途函数。

名称描述使用方法结果
in返回一个元素是否存在于一个集合中。in(1 + 1, 1, 2, 3)true
if基于条件返回其中一个值。if(3 % 2 = 1, 'value is true', 'value is false')'value is true'
ifs基于多个条件返回其中一个值,如果所有条件都不满足则返回默认值。ifs(foo > 50, "bar", foo > 75, "baz", "quux")如果 foo 在 50 和 75之间,则返回"bar",如果foo大于 75,则返回"baz",其他情况返回"quux"

你能使用逗号 , 或者分号 ; 作为参数分隔符。

译者:在十亿伏特真值表,必须使用英文逗号,作为参数分隔符