Math类四个常用方法辨析,floor、ceil、round、rint

原创 2016年05月11日 17:51:10

1.Math.floor

floor,英文原意:地板。
Math.floor 函数是求一个浮点数的地板,就是 向下 求一个最接近它的整数,它的
值肯定会小于或等于这个浮点数。

再看下面的例子的时候,脑中想象一个竖着的数轴,负数在下,正数在上。这样对于向上取整和向下取整的说法,可能会更容易理解。

例子:

        System.out.println("Math.floor(-1.1): " + Math.floor(-1.1));
        System.out.println("Math.floor(-1.5): " + Math.floor(-1.5));
        System.out.println("Math.floor(-1.6): " + Math.floor(-1.6));
        System.out.println("Math.floor(0.1): " + Math.floor(0.1));
        System.out.println("Math.floor(0.5): " + Math.floor(0.5));
        System.out.println("Math.floor(0.6): " + Math.floor(0.6));
        System.out.println("Math.floor(1.1): " + Math.floor(1.1));
        System.out.println("Math.floor(11.5): " + Math.floor(11.5));
        System.out.println("Math.floor(15.7): " + Math.floor(15.7));

结果为:
Math.floor(-1.1): -2.0
Math.floor(-1.5): -2.0
Math.floor(-1.6): -2.0
Math.floor(0.1): 0.0
Math.floor(0.5): 0.0
Math.floor(0.6): 0.0
Math.floor(1.1): 1.0
Math.floor(11.5): 11.0
Math.floor(15.7): 15.0

2.Math.ceil

ceil,英文原意:天花板。
Math.ceil 函数执行的是 向上 取接近的整数,它返回的肯定会大于或等于函数参数。
例子:

        System.out.println("Math.ceil(-1.1): " + Math.ceil(-1.1));
        System.out.println("Math.ceil(-1.5): " + Math.ceil(-1.5));
        System.out.println("Math.ceil(-1.6): " + Math.ceil(-1.6));
        System.out.println("Math.ceil(0.1): " + Math.ceil(0.1));
        System.out.println("Math.ceil(0.5): " + Math.ceil(0.5));
        System.out.println("Math.ceil(0.6): " + Math.ceil(0.6));
        System.out.println("Math.ceil(1.1): " + Math.ceil(1.1));
        System.out.println("Math.ceil(1.5): " + Math.ceil(1.5));
        System.out.println("Math.ceil(1.6): " + Math.ceil(1.6));

结果为:
Math.ceil(-1.1): -1.0
Math.ceil(-1.5): -1.0
Math.ceil(-1.6): -1.0
Math.ceil(0.1): 1.0
Math.ceil(0.5): 1.0
Math.ceil(0.6): 1.0
Math.ceil(1.1): 2.0
Math.ceil(1.5): 2.0
Math.ceil(1.6): 2.0

3.Math.rint

Math.rint 函数返回最接近参数的整数,如果有2个数同样接近,则会返回偶数的那个。

        System.out.println("Math.rint(-1.1): " + Math.rint(-1.1));
        System.out.println("Math.rint(-1.5): " + Math.rint(-1.5));
        System.out.println("Math.rint(-1.6): " + Math.rint(-1.6));
        System.out.println("Math.rint(0.1): " + Math.rint(0.1));
        System.out.println("Math.rint(0.5): " + Math.rint(0.5));
        System.out.println("Math.rint(0.6): " + Math.rint(0.6));
        System.out.println("Math.rint(1.1): " + Math.rint(1.1));
        System.out.println("Math.rint(1.5): " + Math.rint(1.5));
        System.out.println("Math.rint(1.6): " + Math.rint(1.6));

结果为:
Math.rint(-1.1): -1.0
Math.rint(-1.5): -2.0
Math.rint(-1.6): -2.0
Math.rint(0.1): 0.0
Math.rint(0.5): 0.0
Math.rint(0.6): 1.0
Math.rint(1.1): 1.0
Math.rint(1.5): 2.0
Math.rint(1.6): 2.0

4.Math.round

round 方法,我们通常会说这个方法表示”四舍五入”,但是当参数为负数时,就不太好理解。
所以,以源码的计算方式来理解会比较准确。

源码大意:

 Math.round(x) = Math.floor(x + 0.5)

即将原来的数字加上0.5后再向下取整。
例子:

        System.out.println("Math.round(-1.1): " + Math.round(-1.1));
        System.out.println("Math.round(-1.5): " + Math.round(-1.5));
        System.out.println("Math.round(-1.6): " + Math.round(-1.6));
        System.out.println("Math.round(0.1): " + Math.round(0.1));
        System.out.println("Math.round(0.5): " + Math.round(0.5));
        System.out.println("Math.round(0.6): " + Math.round(0.6));
        System.out.println("Math.round(1.1): " + Math.round(1.1));
        System.out.println("Math.round(1.5): " + Math.round(1.5));
        System.out.println("Math.round(1.6): " + Math.round(1.6));

结果为:
Math.round(-1.1): -1
Math.round(-1.5): -1
Math.round(-1.6): -2
Math.round(0.1): 0
Math.round(0.5): 1
Math.round(0.6): 1
Math.round(1.1): 1
Math.round(1.5): 2
Math.round(1.6): 2

版权声明:本文为博主原创文章,未经博主允许不得转载。

Java Math的floor、ceil、rint及round用法

先上程序运行结果,然后再分析原因 一、源程序 public class Ceil_Floor_Round { public static void main(String[] args) { ...

Math.floor,Math.ceil,Math.rint,Math.round用法详解

Math.floor(), Math.ceil() ,Math.round(), Math.rint(),

JS中的Math.ceil函数的用法Math.ceil(x)

JS中的Math.ceil函数的用法Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入 Math.floor(x)--返回小于等于数字参数的最大整数,对数字...

java中Math.ceil()函数实例

java中Math.ceil()函数实例

JS中的Math.ceil和Math.floor函数的用法

Math.ceil(x) -- 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入Math.floor(x)--返回小于等于数字参数的最大整数,对数字进行下舍入例如:  document....

关于java中天花板函数Math.ceil()&…

今天学写分页的时候要根据查到的记录总数recCount和每页数据数pageSize,求出总共有多少页。这里都定义为int型的 假设有66条记录,每页显示10条记录,总共应该分为7页 之前觉得ceil就...

ceil函数和floor函数的用法

ceil函数: 头文件:#include或者写成#include 含义:对小数向上“”取整”,这里不一定得到的就是整数,因为他的返回值是个double型的,有可能就是个小数,但是后边的小数部分全部是0...

Math ceil()、floor()、round()方法

floor函数 与 ceil函数

floor函数   floor(x),有时候也写做Floor(x),其功能是“下取整”,或者说“向下舍入”,即取不大于x的最大整数               (与 “四 舍   五入”不...

C/C++ 取整函数ceil(),floor()

#include  double floor(double x);  float floorf(float x); long double floorl(long double x); ...
  • sirodeng
  • sirodeng
  • 2012年11月30日 11:44
  • 31953
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Math类四个常用方法辨析,floor、ceil、round、rint
举报原因:
原因补充:

(最多只允许输入30个字)