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:arg
        echo "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就是简单去掉小数部分。
目录
相关文章
|
5月前
|
Ubuntu Unix Linux
Linux Vim最全面的教程
Linux Vim最全面的教程
|
6月前
|
开发工具 Ubuntu Linux
vim中函数跳转的功能实现
该文介绍了如何在Vim中实现函数跳转功能,通过安装`ctags`插件来完成。在CentOS/OpenEuler使用`sudo yum install ctags`,Ubuntu系统用`sudo apt-get install ctags`安装ctags,然后在源代码目录下运行`ctags -R .`生成tags文件。在Vim中,使用`Ctrl + ]`跳转到定义处,`Ctrl + t`返回原位置。文章还提到跨文件跳转及`tags`文件的更新与配置Vim的相关信息。
|
5月前
|
Ubuntu Linux 开发工具
Linux Vim最全面的教程
Linux Vim最全面的教程
310 0
|
7月前
|
开发工具
Vim教程:深入了解如何删除换行符
【4月更文挑战第3天】
418 1
Vim教程:深入了解如何删除换行符
|
6月前
|
开发工具 Linux Unix
18. 【Linux教程】vim 编辑器
18. 【Linux教程】vim 编辑器
86 0
|
7月前
|
程序员 开发工具
|
7月前
|
机器学习/深度学习 数据可视化 Unix
2023最全vim编辑器教程(详细、完整)-编辑器之神
2023最全vim编辑器教程(详细、完整)-编辑器之神
101 0
|
7月前
|
Ubuntu 开发工具
百度搜索:蓝易云【Ubuntu安装vim教程】
现在,你已经成功在Ubuntu上安装了Vim编辑器。你可以在终端中运行 `vim`命令来启动Vim,并开始编辑文本文件。
92 2
|
7月前
|
Ubuntu Linux 开发工具
Vim常用指令[极简教程]
Vim常用指令[极简教程]
116 0
|
Unix Linux 程序员