欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Math类中round、ceil和floor方法的功能

程序员文章站 2022-04-28 11:41:12
Java中的Math工具类用来完成除+、-、*、/、%等基本运算以外的复杂运算,位于java.lang包下,Math类的构造器全是私有的(private),因此无法创建Math类的对象,Math类的方法全是类方法,可以直接通过类名来调用它们。下面重点介绍Math类中经常用到的几个方法,也是面试时经常 ......

java中的math工具类用来完成除+、-、*、/、%等基本运算以外的复杂运算,位于java.lang包下,math类的构造器全是私有的(private),因此无法创建math类的对象,math类的方法全是类方法,可以直接通过类名来调用它们。下面重点介绍math类中经常用到的几个方法,也是面试时经常被问到的知识点。

1、round

round方法表示四舍五入。round意为“环绕”,其原理是在原数字的基础上先加上0.5再向下取整,它的返回值为int类型,例如,math.round(11.5)等于12(11.5+0.5后向下取整的结果),math.round(-11.5)等于-11。

2、ceil

ceil方法的功能是向上取整。ceil意为“天花板”,顾名思义就是对操作数取顶,math.ceil(a)就是取大于a的最小整数。需要注意的是它的返回值不是int类型,而是double类型。若a是正数,则把小数“入”,若a是负数,则把小数“舍”。

3、floor

floor方法的功能是向下取整。floor意为“地板”,顾名思义是对操作数取底。math.floor(a),就会取小于a的最大整数。它的返回值类型与ceil意义,也是double类型。若a是正数,则把小数“舍”,若a是负数,则把小数“入”。

 

上述三个与取整有关的方法(round、ceil、floor)的作用于它们的英文名字的含义相对应,也特别好记,下面是一个实例分析:

round、ceil、floor的区别
数字 floor round ceil
2.4 2.0 2 3.0
2.5 2.0 3 3.0
2.6 2.0 3 3.0
-2.4 -3.0 -2 -2.0
-2.5 -3.0 -2 -2.0
-2.6 -3.0 -3 -1.0


上面程序运行结果为:

Math类中round、ceil和floor方法的功能

math.round(8.4)=8
math.round(-8.4)=-8
math.ceil(8.4)=9.0
math.ceil(-8.4)=-8.0
math.floor(8.4)=8.0
math.floor(-8.4)=-9.0

常见笔试题:

math.round(11.5)等于多少?math.round(-11.5)等于多少?

答案:12,-11。见上面讲解。

Math类中round、ceil和floor方法的功能