這一節的所有函數,隻有在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就是簡單去掉小數部分。