导读 | floor原意:地板。Math.floor函数是求一个浮点数的地板,就是求一个最接近它的整数,它的值小于或等于这个浮点数。 |
floor返回不大于的最大整数。
round则是4舍5入的计算,入的时候是到大于它的整体。
round表示“四舍五入”,算法为Math.floor(x + 0.5),即将原来的数字加上0.5后再向下取整,所以Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
我们先通过以下实例来看看Java Math floor,ceil,rint及round各种方法的输出结果:
Test.java
导入java 。实用程序。扫描仪; 公共类测试{公共静态无效主(字符串[ ] ARGS ){扫描仪SC =新扫描仪(系统。在); 系统。出来。println (“输入一个浮点数:” ); 而(SC 。hasNext ()) { double num = sc 。nextDouble (); 系统。出来。的println (“ Math.floor( ” + NUM + “ )= ” +数学。楼层(NUM )); 系统。出来。println (“ Math.ceil(” + num + “ )= ” + 数学。ceil (num )); 系统。出来。的println (“ Math.rint( ” + NUM + “ )= ” +数学。RINT (NUM )); 系统。出来。的println (“ Math.round( ” + NUM + “ )= ” +数学。轮(num )); } } }
执行以上程序测试输出:
$ javac测试。爪哇 $ java Test输入一个浮点数:2.2数学。floor (2.2 )= 2.0 Math 。ceil (2.2 )= 3.0数学。RINT (2.2 )= 2.0数学。轮(2.2 )= 2 - 2.2数学。地板(-2.2 )= - 3.0数学。ceil (-2.2 )= - 2.0数学。RINT ( - 2.2 )= - 2.0数学。轮( - 2.2 )= - 2 - 2.5数学。地板(-2.5 )= - 3.0数学。ceil (-2.5 )= - 2.0数学。rint (-2.5 )= - 2.0数学。四舍五入(-2.5 )= - 2 2.5数学。最低(2.5 )= 2.0数学。ceil (2.5 )= 3.0数学。rint (2.5 )= 2.0数学。四舍五入(2.5 )= 3 2.7数学。floor (2.7 )= 2.0 Math 。ceil (2.7 )= 3.0数学。林特(2.7 )= 3.0数学。轮(2.7 )= 3 - 2.7数学。地板(-2.7 )= - 3.0数学。小区( - 2.7 )= - 2.0数学。rint (-2.7 )= - 3.0数学。四舍五入(-2.7 )= - 3
解析输出
1,Math.floor()向下取整,即小于这个数的最大的那个一体。
数学。地板(2.2 )= 2.0 ; 数学。地板(-2.2 )= - 3.0 ; 数学。地板(2.5 )= 2.0 ; 数学。地板(-2.5 )= - 3.0 ; 数学。最低(2.7 )= 2.0 ; 数学。地板(-2.7 )= - 3.0 ;
2,Math.ceil()向上取整,即大于这个数的最小的那个整数。
数学。细胞(2.2 )= 3.0 ; 数学。ceil (-2.2 )= - 2.0 ; 数学。细胞(2.5 )= 3.0 ; 数学。ceil (-2.5 )= - 2.0 ; 数学。细胞(2.7 )= 3.0 ; 数学。ceil (-2.7 )= - 2.0 ;
3,Math.rint()返回最接近该值的那个整数。
注意:如果存在两个这样的整数,则返回其中的偶数。
4,Math.round() 四舍五入,但当参数为负数时不太好理解,直接上源码应该比较好理解,注意返回的是整型。
数学。回合(x )=数学。地板(x + 0.5 )
把以上代码带入以下实例测试:
数学。round (2.2 )= 2 ;数学。round (-2.2 )= - 2 ;数学。轮(2.5 )= 3 ;数学。round (-2.5 )= - 2 ;数学。轮(2.7 )= 3 ;数学。四舍五入(-2.7 )= - 3
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/125872.html