日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Vim技能修炼教程(16) - 浮点数计算函数

發布時間:2025/3/19 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vim技能修炼教程(16) - 浮点数计算函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

浮點數計算函數

這一節的所有函數,只有在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(): 簡單截斷小數點后面的數

我們來寫個函數測試下它們的功能:

function Float2Number(arg)echo "Orginal value:"echo a:argecho "float2nr:"echo float2nr(a:arg)echo "round:"echo round(a:arg)echo "ceil:"echo ceil(a:arg)echo "floor:"echo floor(a:arg)echo "trunc:"echo trunc(a:arg) endfunction

我們先試試2.06:

Orginal value: 2.06 float2nr: 2 round: 2.0 ceil: 3.0 floor: 2.0 trunc: 2.0

我們再試試122.667:

Orginal value: 122.667 float2nr: 122 round: 123.0 ceil: 123.0 floor: 122.0 trunc: 122.0

我們再看一個負數:-9.08

Orginal value: -9.08 float2nr: -9 round: -9.0 ceil: -9.0 floor: -10.0 trunc: -9.0

最后來一個五入的負數:

Orginal value: -65.96 float2nr: -65 round: -66.0 ceil: -65.0 floor: -66.0 trunc: -65.0

我們總結一下:

  • 除了float2nr,其它所有截斷的結果還是浮點數
  • float2nr的策略跟trunc一致,也就是說,如果要想四舍五入的話,先做round再float2nr.
  • round是四舍五入,不管正負,都是四舍五入。
  • ceil取大于等于它的最小整數。
  • floor取小于等于它的最大整數。
  • trunc就是簡單去掉小數部分。

總結

以上是生活随笔為你收集整理的Vim技能修炼教程(16) - 浮点数计算函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。