这一节的所有函数,只有在vim编译时支持了+float时才有效。
sin() : sine正弦函数
cos() : cosine余弦函数
tan() : tangent正切函数
asin() : arc sine反正弦函数
acos() : arc cosine反余弦函数
atan() : arc tangent反正切函数
atan2({x坐标},{y坐标}) : arc tangent反正切函数
sinh() : hyperbolic sine 双曲正弦函数
cosh() : hyperbolic cosine双曲余弦函数
tanh() : hyperbolic tangent双曲正切函数
这些函数基本上都是对应的c函数的封装。比如对于双曲正弦不熟悉的话,可以参看man sinh. 如果不理解atan2,可以man atan2.
abs(): 绝对值
fmod(): 浮点余数
exp(): e的乘方
log(): 自然对数
log10(): 以10为底的对数
pow(): 阶乘
sqrt(): 平方根,如果求负数的平方根,返回nan.
isnan(): 判断是否为nan。比如isnan(0.0/0.0)为真。
float2nr() : 将浮点数转成整数。
round() : round off, 四舍五入
ceil(): round up, 上舍入
floor(): round down,下舍入
trunc(): 简单截断小数点后面的数
我们来写个函数测试下它们的功能:
我们先试试2.06:
我们再试试122.667:
我们再看一个负数:-9.08
最后来一个五入的负数:
我们总结一下:
除了float2nr,其它所有截断的结果还是浮点数
float2nr的策略跟trunc一致,也就是说,如果要想四舍五入的话,先做round再float2nr.
round是四舍五入,不管正负,都是四舍五入。
ceil取大于等于它的最小整数。
floor取小于等于它的最大整数。
trunc就是简单去掉小数部分。