|
楼主 |
发表于 2019-6-11 22:16
|
显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 流浪铁匠 于 2019-6-11 22:49 编辑
二)舍入函数分类
以上舍入函数主要分为3类
1,根据指定位数的舍入
2,根据指定倍数的舍入或取余
3,文本型格式处理
另外很多函数本身具有精确(/大致)取整能力,不在此次介绍内
相同点
1),参数均为2个,1参为数值,2参为舍入位数
2),2参数支持负数,为负数时圆整到小数点左边
3)1参忽略数字格式(文本型数字和逻辑值可直接被计算)
4)这4个函数在正数与负数时舍入规律无差异
不同点:
1,舍入规则,这条没什么可说的
2,trunc的2参可缺省,另外3个不行,至少要保留逗号
3,round的2参临界点为之前注意到的0.99999976146501,而其它几个函数的2参默认取整
4,round是这批函数里唯一有2参上限的函数(后文有介绍)
2,指定倍数的舍入函数
ceiling与floor有衍生函数,后面会详细对比,所以这里不再列举其衍生函数
相同点
1,参数均为2个,1参为数值,2参为舍入倍数
2,1参忽略格式差异(文本型数字和逻辑值可直接被计算)
3,1参为正数与负数时舍入规则存在差异
不同点
1,mround的2个参数的符号必须一致,而ceiling/floor仅不支持1参为正数时2参为负数的情况,mod的2个参数无正负号限制
2,ceiling与floor的舍入规则在1参为正数与负数时是不一样的(这点在单独这2个函数的衍生函数对比时有详细介绍)
3,取整型
这几个函数没什么好说的
唯一需要注意的还是负数时的舍入规则
int为向下取整,无论正负
odd/even正数时向上舍入,负数时向下舍入,即数值都是沿绝对值增大的方向向上舍入
而quotient对负数的处理能力类似trunc而不是int,但quotient不能缺省2参且不能为0
|
|