大众计算机学习网

专门提供各种电脑教程

乱人心志的VB程序设计中的四舍五入函数Round()

Admin | 2009-10-26 16:04:09 | 被阅次数 | 7902

  在高中的信息技术课程中,vb程序设计是必须课程中的一个模块,其中,涉及到多个常用的函数。

  但是,有一个函数,从函数的执行结果来看,的确是一个乱人心志的函数,该函数是:Round();

  从名誉上来看,该函数是名正言顺的四舍五入函数,但是,从执行结果上来看,却并非真正的四舍五入函数。

  下面,我们从实践中来验证该函数:

  ①Round()

  Print Round(0.9999) 输出的结果是1,满足四舍五入的需要;

  Print Round(0.9)输出的结果是1,满足四舍五入的需要;

  Print Round(0.4999)输出的结果是0,满足四舍五入的需要;

  但是,问题出来了:

  Print Round(0.5)输出的结果是0,未满足四舍五入的需要;

  然而

  Print Round(0.50001)输出的结果却是1,出奇的满足四舍五入的需要;

  从实践中我们不难发现,该函数的四舍五入的条件是这样的:

  当小数中的值大于0.5的时候,就进行四舍五入

  Print Round(0.5000001),结果是1

  而小于等于0.5的时候,是不进行四舍五入的;这就与我们日常生活中的四舍五入相矛盾。

  Print Round(0.5),结果是0

  所以,在使用该函数的时候,一定要结合实际的实践,以求得所需要的数据,千万不要让该函数乱了人的心志。

  此外,也给大家介绍一下,能够真正实现四舍五入的几个函数的综合使用。

  ① Int(number)  

  Int函数,原本是只取整而抛弃小数的函数,但是我们可以使用它来取得四舍五入的数据。

  用法为: Int(number+0.5)  

  ② Fix(number) 

  该函数也是只取整数而抛弃小数的函数,我们也可以使用它取得四舍五入的数据

  用法: Fix(number+0.5) 

  然而,这两个函数在处理负数的时候,却有着微妙的区别:

  Int和Fix的不同之处在于,如果number为负数,则Int返回小于或等于number的第一个负整数,而Fix则会返回大于或等于number的第一个负整数。例如,Int将-8.4转换成-9,而Fix   将-8.4转换成-8。