关于Math类的round、floor、ceil三个方法

简介: 一、Math类这三个方法的简介   1、round():取最接近的值。    对于这个方法,查看源代码,其实现如下: 1 public static long round(double a) { 2 if (a != 0x1.

一、Math类这三个方法的简介

  1、round():取最接近的值。

   对于这个方法,查看源代码,其实现如下:

1     public static long round(double a) {
2         if (a != 0x1.fffffffffffffp-2) // greatest double value less than 0.5
3             return (long)floor(a + 0.5d);
4         else
5             return 0;
6     }

   也就是将该值加0.5,然后取floor值。

  2、floor():向下取整,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分)。

  3、round():向上取整计算,它返回的是大于或等于方法参数,并且与之最接近的整数。

二、示例

 1         //取最接近的值,将该值加0.5,然后取floor
 2         System.out.println(Math.round(11.7));// 12  11.7+0.5=12.3 floor(12.3)=12
 3         System.out.println(Math.round(11.5));// 12  11.5+0.5=12 floor(12)=12
 4         System.out.println(Math.round(11.3));// 11  11.3+0.5=11.8 floor(11.8)=11
 5         System.out.println(Math.round(-11.7));// -12  -11.7+0.5=-11.2 floor(-11.2)=-12
 6         System.out.println(Math.round(-11.3));// -11  -11.3+0.5=-10.8 floor(-10.8)=-11   
 7         System.out.println("=========================");
 8         // 向下取整,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分)。
 9         System.out.println(Math.floor(11.7));//11   
10         System.out.println(Math.floor(11.5));//11
11         System.out.println(Math.floor(11.3));//11
12         System.out.println(Math.floor(-11.7));//-12
13         System.out.println(Math.floor(-11.3));//-12
14         System.out.println("=========================");
15         // 向上取整计算,它返回的是大于或等于函数参数,        //取最接近的值,将该值加0.5,然后取floor
16         System.out.println(Math.round(11.7));// 12
17         System.out.println(Math.round(11.5));// 12
18         System.out.println(Math.round(11.3));// 11
19         System.out.println(Math.round(-11.7));// -12
20         System.out.println(Math.round(-11.3));// -11
21         System.out.println("=========================");
22         // 向下取整,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接去掉小数部分)。
23         System.out.println(Math.floor(11.7));//11
24         System.out.println(Math.floor(11.5));//11
25         System.out.println(Math.floor(11.3));//11
26         System.out.println(Math.floor(-11.7));//-12
27         System.out.println(Math.floor(-11.3));//-12
28         System.out.println("=========================");
29         // 向上取整计算,它返回的是大于或等于函数参数,并且与之最接近的整数。
30         System.out.println(Math.ceil(11.7));//12
31         System.out.println(Math.ceil(11.5));//12
32         System.out.println(Math.ceil(11));//11
33         System.out.println(Math.ceil(-11.7));//-11
34         System.out.println(Math.ceil(-11.5));//-11并且与之最接近的整数。
35         System.out.println(Math.ceil(11.7));//12
36         System.out.println(Math.ceil(11.5));//12
37         System.out.println(Math.ceil(11));//11
38         System.out.println(Math.ceil(-11.7));//-11
39         System.out.println(Math.ceil(-11.5));//-11

 

目录
相关文章
|
8月前
Math常用方法,什么是math?
Math常用方法,什么是math?
122 0
|
C++
C++ 多种取整函数的使用和区别: ceil() floor() round() trunc() rint() nearbyint()
C++ 多种取整函数的使用和区别: ceil() floor() round() trunc() rint() nearbyint()
268 0
Math.ceil()
Math.ceil()
163 0
Math.pow()
Math.pow()
81 0
4.2、Math数学对象(floor、random、sqrt、pow、abs)
4.2、Math数学对象(floor、random、sqrt、pow、abs)
195 0
|
安全 iOS开发
iOS开发-math.h/ceil/floor/round
https://blog.csdn.net/acmicpc123/article/details/50280097
153 0
iOS开发-math.h/ceil/floor/round
|
算法 机器学习/深度学习
Math
机器学习中的数学基础 微分学 求导数 求偏导数 以上两个通过公式或者使用泰勒公式进行逼近得到的 求f(x)在x0处的导数 根据泰勒公式: f(x) = f(x0) + f'(x0)(x - x0) + f''(x0)(x - x0)^2/2! + f'''(x0)(x - x0)^3/3! + .
927 0
Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在参数上加0.5然后进行下取整。
1790 0

热门文章

最新文章