3.4.4 数学函数
这些函数仅适用于数值表达式。如果用于其他类型的值,将返回错误。
数学函数图例如图3-26所示。
图3-26 数学函数图例
1.数值函数
(1)abs():abs()函数返回数值的绝对值。
语法:abs(expression)
参数:
● expression:数值表达式。
查询:
结果将返回两个年龄差值的绝对值。
结果:
(2)ceil():ceil()返回大于或等于实参的最小整数。
语法:ceil(expression)
参数:
● expression:数值表达式。
查询:
结果将返回大于0.1的最小整数,即为1。
结果:
(3)floor():floor()返回小于等于表达式的最大的整数。
语法:floor(expression)
参数:
● expression:数值表达式。
查询:
小于等于0.9的最大的整数为0。
结果:
(4)round():round()返回距离表达式值最近的整数。
语法:round(expression)
参数:
● expression:数值表达式。
查询:
距离3.141592最近的整数为3。
结果:
(5)sign():sign()返回一个数值的正负。如果值为零,则返回0;如果值为负数,则返回-1;如果值为正数,则返回1。
语法:sign(expression)
参数:
● expression:数值表达式。
查询:
结果将返回-17和0.1的正负符号。
结果:
(6)rand():rand()返回[0, 1)之间的一个随机数,返回的数值在整个区间遵循均匀分布。
语法:rand()
参数:无
查询:
结果将返回一个随机数。
结果:
2.对数函数
(1)log():log()返回表达式的自然对数。
语法:log(expression)
参数:
● expression:数值表达式。
查询:
结果将返回27的自然对数的值。
结果:
(2)log10():log10()返回表达式的常用对数(以10为底)。
语法:log10(expression)
参数:
● expression:数值表达式。
查询:
结果将返回27的常用对数。
结果:
(3)exp():exp()返回e^n,这里e是自然对数的底,n是表达式的实参值。
语法:e(expression)
参数:
● expression:数值表达式。
查询:
结果将返回e的平方值。
结果:
(4)e():e()返回自然对数的底,即e。
语法:e()
参数:无
查询:
结果将返回自然对数的底e的值。
结果:
(5)sqrt():sqrt()返回数值的平方根。
语法:sqrt(expression)
参数:
● expression:数值表达式。
查询:
结果将返回256的平方根,即16。
结果:
3.三角函数
除非特别指明,所有的三角函数都是针对弧度值进行计算的。
(1)sin():sin()返回表达式的正弦函数值。
语法:sin(expression)
参数:
● expression:一个表示角的弧度的数值表达式。
查询:
结果将返回角弧度为0.5的正弦值。
结果:
(2)cos():cos()返回表达式的余弦函数值。
语法:cos(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回角弧度为0.5的余弦值。
结果:
(3)tan():tan()返回表达式的正切值。
语法:tan(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回角弧度为0.5的正切值。
结果:
(4)cot():cot()返回表达式的余切值。
语法:cot(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回角弧度为0.5的余切值。
结果:
(5)asin():asin()返回表达式的反正弦值。
语法:asin(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回角弧度为0.5的反正弦值。
结果:
(6)acos():acos()返回表达式的反余弦值。
语法:acos(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回角弧度为0.5的反余弦值。
结果:
(7)atan():atan()返回表达式的反正切值。
语法:atan(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回角弧度为0.5的反正切值。
结果:
(8)atan2():atan2()返回方位角,也可以理解为计算复数x+yi的幅角。
语法:atan2(expression1, expression2)
参数:
● expression1:表示复数x部分的数值表达式。
● expression2:表示复数y部分的数值表达式。
查询:
结果将返回复数为0.5+0.6i的方位角。
结果:
(9)pi():pi()返回常数pi的数值。
语法:pi()
参数:无
查询:
结果将返回常数Π的值。
结果:
(10)degrees():degrees()将弧度转为度。
语法:degrees(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回接近于Π的度数。
结果:
(11)radians():radians()将度转为弧度。
语法:radians(expression)
参数:
● expression:一个表示角度数的数值表达式。
查询:
结果将返回180°的弧度值(Π)。
结果:
(12)haversin():haversin()返回表达式的半正矢值。
语法:haversin(expression)
参数:
● expression:一个表示角弧度的数值表达式。
查询:
结果将返回弧度为0.5的半正矢值。
结果:
(13)使用haversin函数计算球面距离:haversin()函数可用于计算球面上两点(以经纬度的方式给出)之间的距离。下面示例计算了德国柏林(lat 52.5,lon 13.4)和美国加州圣马特奥市(lat 375,lon -122.3)两点之间的球面距离(以km计),计算时采用的是地球的平均半径6371km。
查询:
结果将返回柏林和圣马特奥之间的估算距离。
结果: