在Java中,Math类提供了三个四舍五入的类似函数,分别为Math.ceil()、Math.floor()和Math.round()。下面为大家详细解释他们的用法和区别:
顾名思义,ceil译为装天花板、天花板的意思,floor是地板的意思。于是我们将数轴竖着放立,这样有助于理解,如图:
数字从上到下,从大到小。
1. Math.ceil()(参数和返回值都为double类型):
表示向上取整,例如Math.ceil(11.5)结果为12.0,Math.ceil(-5.6)结果为-5.0。
2. Math.floor()(参数和返回值都是double类型):
表示向下取整,例如Math.floor(11.5)结果为11.0,Math.floor(-5.6)结果为-6.0。
3. Math.round()(参数为float/double类型,返回值为int类型):
round表示四舍五入,用法为round(x) = floor(x+0.5),意思就是原值加0.5之后再向下取整。例如Math.round(11.3)结果为11,Math.round(11.5)结果为12,Math.round(11.7)结果为12,Math.round(-5.3)结果为-5,Math.round(-5.5)结果为-5,Math.round(-5.7)结果为-6。