数学函数

Mathematical functions

-numeric

abs()

abs(expression)

返回expression的绝对值

abs(null) 会返回null;

ceil()

ceil(expression)

返回值:Float

向上取整,但返回的类型是浮点数

ceil(null)会返回null

floor()

floor(expression)

返回值:Float

向下取整,但返回的类型是浮点数

floor(null)会返回null

rand()

rand()

返回值:Float

返回一个随机数,值域是[0,1)

round()

round(expression[,precision[,mode]])

返回值:Float

返回expression最近的整数,但返回类型是浮点数

  • round(null)会返回null;
  • 对于,expression=n+1/2,n∈Z,round(expression)=n+1
  • 可以指定精确度,precision会指定返回结果精确到小数点后第几位Pythonround(3.141592, 3)会返回3.142
  • 可以指定取整模式mode,mode应为String且可选模式如下
mode描述
CEILING向上取整,更大值
DOWN向0取整,绝对值更小值
FLOOR向下取整,更小值
HALF_DOWN中间值向0取整,绝对值更小值;其余值取最近
HALF_EVEN中间值在位数允许时取自身,否则取最近的偶数;其余值取最近
HALF_UP中间值在precision不为0时,向绝对值更大值取整,precision为0时,向0取整;其余值取最近
UP向绝对值更大值取整
  • ∗此处DOWN/FLOOR/UP的具体情由测试得到,与官方文档略有不同,应该是官方文档的纰漏

sign()

 sign(expression)

返回值:Integer

依据expression的正负号返回一个整数

  • expression为0则返回0;
  • expression为正则返回1;
  • expression为负则返回-1;
  • sign(null)会返回null;

对数

-logarithmic

e()

e()

返回值:Float

返回自然对数e

RETURN e()

结果

e()
2.718281828459045

exp()

exp(expression)

返回值:Float

返回e的expression次方

exp(null) 会返回null;

∗此处此处官方文档将语法纰漏写错为e(expression)

log()

log(expression)

返回值:Float

返回以自然对数e为底、以expression为真数的对数的值

  • log(null)会返回null;
  • log(0)会返回-Infinity;
  • expression为负数时返回NaN;

∗此处此处官方文档声明log(0)会返回null,实则不然,以下同理

log10()

 log10(expression)

返回值:Float

返回以10为底、以expression为真数的对数的值

  • log10(null)会返回null;
  • log10(0)会返回-Infinity;
  • expression为负数时返回NaN;

sqrt()

sqrt(expression)

返回值:Float

返回expression的平方根

  • sqrt(null)会返回null;
  • expression为负数时返回NaN;

三角

-trigonometric

cypher中的三角函数有以下这些

  • acos()
  • asin()
  • atan()
  • atan2()
  • cos()
  • cot()
  • sin()
  • tan()
  • haversin()

其参数单位均为弧度制

之外,有以下这些函数

pi()

pi()

返回值:Float

返回π

matlab

RETURN pi()

结果为3.141592653589793

由于实际上pi()不是数学意义上的π,sin(0.5*pi())的值为1,但sin(pi())值为1.2246467991473532e-16

degrees()

 degrees(expression)

返回值:Float

将expression表达的弧度制转为角度

degrees(null)会返回null

radians()

radians()

返回值:Float

将expression表达的角度转为弧度制

radians(null)会返回null