【VBA研究】取整函数的使用

VBA取整函数有好几个,用法也不同,有的还可以在工作表中使用,下面根据需求分别说明:

1、四舍五入取整,一般用于取近似数

(1)CInt:只能在VBA中使用

CInt(12.56)=13,

CInt(12.46)=12,

CInt(-12.56)=-13,

CInt(-12.46)=-12

(2)Round:在VBA中使用和CInt相同

Round(12.56)=13,

Round(12.46)=12,

Round(-12.56)=-13,

Round(-12.46)=-12,

此函数实际上有两个参数,第二个参数表示取小数的位数,或略表示取整,即小数位数为0。该函数还可以在工作表中使用,使用时两个参数必须写全,即:

Round(12.56,0)=13,

Round(12.56,1)=12.6

2、取整数部分,小数舍弃,常用于取整数和余数

(1)Fix:只能在VBA中使用

Fix(12.56)=12,

Fix(12.46)=12,

Fix(-12.56)=-12,

Fix(-12.46)=-12

(2)Int:在VBA和工作表中都可以使用

此函数取正数时和Fix相同,负数时往绝对值高的方向取,就是说,取小于其值得整数,

Int(12.56)=12,

Int(12.46)=12,

Int(-12.56)=-13,

Int(-12.46)=-13

举例:买50个鸡蛋,12个鸡蛋一盒,那么需要Fix(50/12)=4盒,零头50 mod 12=2个

3、往上取整,只要有小数,整数部分就加1,常用于资费计算

邮件资费定价时常用不足500g按500g计算,即501g相当于2个500g计算资费。本功能VBA没有专门的函数,不过可以用数值+0.5再四舍五入取整实现,例如:

CInt(12.56+0.5)=13,

CInt(12.46+0.5)=13,

CInt(12.01+0.5)=13

不过,工作表中还是有一个Ceiling函数可以实现这个功能,Ceiling(12.01,1)=13,第二个参数1表示舍入到最近的整数。VBA中可以用下列方式引用:

a = Application.Ceiling(12.06, 1)         'a=13

Ceiling函数功能比较复杂,这儿就不详细介绍了。

4、关于Round函数进行四舍五入

VBA中Round函数进行四舍五入并不是逢5就入,例如:

round(0.5)=0、 round(1.5)=2 、 round(2.5)=2 、round(3.5)= 4 、round(4.5)=4 ,难到还分奇偶?答案是确实分奇偶,在VBA中Round函数是采用“银行家舍入”,建议大家在VBA中慎重使用Round函数来四舍五入。什么是“银行家舍入”呢,定义如下:
“四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一”。这个四舍五入法是一个国际标准,大部分的编程软件都使用的是这种方法,据说国际上一般都是用这种方法的。
如果在Excel VBA中进行四舍五入处理,也可以直接调用Excel工作表函数,达到直接四舍五入的目的Application.Round(A,B),例如,下面例句可以看出运行效果:
    a = Application.Round(12.5, 0)  'a=13
    b = Round(12.5)                        'b=12

(0)

相关推荐

  • 4.4 四舍五入函数round

    4.4 四舍五入函数round

  • Excel VBA之函数篇-3.14数据的高级查找,快速通过区间划分等级

    Excel VBA之函数篇-3.14数据的高级查找,快速通过区间划分等级 前景提要 在前面几次的学习中,我们学习了一些关于like()函数的简易的使用方法,今天我们来继续学习下相关方面的知识,今天我们 ...

  • 四舍五入和取整不是你想的那么简单

    前言 四舍五入大家都不陌生,但我们的要求有时并不是简单的四下五上,也不是简单的针对小数点之后的数字.同样,取整对正数和负数也不相同,今天就给大家普及几个与数字四舍五入和取整有关的函数. 1四舍五入 严 ...

  • VBA中ROUND函数浅析

    VBA四舍五入函数round()的一些不同四舍五入对于我们来说再熟悉不过了,但这次却碰到一个麻烦的问题. 由于实行全员个人所得税申报,从地税拿到了个人所得税申报软件,按要求把数据都导入后,软件计算出所 ...

  • 到底是哪里错了?Excel中的四舍五入和VBA的四舍五入竟然不一样?

    今天介绍一个Excel中的"错误":关于四舍五入的. 先来看数据以及在Excel中的四舍五入的结果: 这个结果毫无问题,符合我们从小学就学习的四舍五入的概念,不到.5的都舍掉,超过 ...

  • Excel教程:Excel取整的N种方法和应用场景

    随着自己对Excel技能的熟练,会发现有很多种取整方法,一起看看. 第一种方法:减少小数位数 选中需要取整的单元格区域,点击"开始"选项卡中的"数字"功能组中的 ...

  • Excel如何把小数点四舍五入取整?

    在Excel表格中整理数据的时候,为了避免大量的小数点,通常都会采用四舍五入的方式,减少小数点,这样工作起来也比较方便,还能提高工作效率.Excel如何把小数点四舍五入取整呢?下面一起看下解决的方法. ...

  • excel表格如何取整

    EXCEL表格软件中的函数功能极其强大,它能帮助我们完成很多的复杂运算,下面让学习啦小编为你带来excel表格如何取整的方法. excel取整设置步骤如下: 01打开EXCEL表格 02点击" ...

  • 【VBA研究】用XMLHTTP的Post功能抓取数据

    作者:iamlaosong 我前一阵子用VBA做了个工具,用XMLHTTP的Get功能抓取城市间距离.现在我想用用XMLHTTP的Post功能抓取邮件轨迹.抓取数据是用Get还是Post,取决于网站提 ...

  • 田开斌—— 2019年拉普拉塔河数学奥林匹克的一道取整函数试题及其解答

    万丈红尘三杯酒,千秋大业一壶茶 本文选自田开斌的新浪博客"杏坛孔门2014"的博文.田开斌,奥数高手,著名的"文武光华"掌门人之一,特长是十八般兵器样样精通.征 ...

  • 截尾取整函数trunc的基本用法

    小伙伴们好,今天来学习下trunc函数的基本用法.它是个截尾取整函数,和int函数的功能有点类似,但又有些差别.下面来说明它的用法. -01- 函数说明 trunc函数将数字截为整数或保留指定位数的小 ...

  • 向下取整函数int的基本用法

    各位同学,大家好.之前发的文章可能对于一些初学者太难了,从今天开始讲解一些基础函数的用法.今天要讲的是int函数,它是一个数学函数,将数字向下舍入到最接近的整数. 先来看下它的语法结构,只有1个参数. ...

  • 浅析高斯取整函数

    高斯取整函数虽然在中学阶段不做要求,但在很多竞赛培优中都有所涉及.下面对高斯取整函数的定义及相关性质做简单的解读,帮助同学们拓展视野,有兴趣的同学可以自行查找资料学习. 定义:我们用[x]表示不超过x ...

  • 4.2 向下取整函数int

    4.2 向下取整函数int

  • 4.3 截尾取整函数trunc

    4.3 截尾取整函数trunc

  • 高斯取整函数:从高考到强基与联赛

    摘要:高斯取整函数是一个极其重要的函数,它在高考,各地的模拟考试以及强基与竞赛中都大量出现. 在高考试题范围内,高斯取整函数多以新背景,新概念题目出现,仅仅考察其基本定义,例如2016年全国卷2的数列 ...

  • 【VBA研究】如何将Excel工作表的内容更新到数据库

    iamlaosong文 利用Excel维护数据库,自然就需要完成工作表内容和数据库表内容的互动.将数据库表的内容读到工作表中,这儿就不说了,本文主要是要说一下如何将工作表中修改后的内容更新到数据库表中 ...