1.先说下怎么理解
round()方法可以这样理解:
将括号内的数+0.5之后,向下取值,
比如:round(3.4)就是3.4+0.5=3.9,向下取值是3,所以round(3.4)=3;
round(-10.5)就是-10.5+0.5=-10,向下取值就是-10,所以round(-10.5)=-10
所以,Math.round(11.5)=12;
现在再来看,Math.round(11.5),Math.round(-11.5)你应该知道等于多少了吧,掌握了方法就好解决问题了。
这个题面试了很多家就一家遇到,所以就来和大家分享下。
扩展:常用的三个
Math.ceil求最小的整数,但不小于本身.
ceil的英文意义是天花板,该方法就表示向上取整,
例子:
所以,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;
- /**
- * @see 求最小的整数,但不小于本身
- * @param double
- * @return double
- */
- System.out.println(Math.ceil(-1.1));
- System.out.println(Math.ceil(-1.9));
- System.out.println(Math.ceil(1.1));
- System.out.println(Math.ceil(1.9));
输出结果:
- -1.0
- -1.0
- 2.0
- 2.0
Math.floor求最大的整数,但不大于本身.
floor的英文意义是地板,该方法就表示向下取整,
例子:
floor的英文意义是地板,该方法就表示向下取整,
所以,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是-12;
- /**
- * @see 求最大的整数,但不大于本身
- * @param double
- * @return double
- */
- System.out.println(Math.floor(-1.1));
- System.out.println(Math.floor(-1.9));
- System.out.println(Math.floor(1.1));
- System.out.println(Math.floor(1.9));
输出结果:
- -2.0
- -2.0
- 1.0
- 1.0
Math.round求本身的四舍五入.
- /**
- * @see 本身的四舍五入
- * @param double
- * @return long
- */
- System.out.println(Math.round(-1.1));
- System.out.println(Math.round(-1.9));
- System.out.println(Math.round(1.1));
- System.out.println(Math.round(1.9));
输出结果:
- -1
- -2
- 1
- 2
Math.abs求本身的绝对值.
- /**
- * @see 本身的绝对值
- * @param double|float|int|long
- * @return double|float|int|long
- */
- System.out.println(Math.abs(1.1));
- System.out.println(Math.abs(1.9));
- System.out.println(Math.abs(-1.1));
- System.out.println(Math.abs(-1.9));
输出结果:
- 1.1
- 1.9
- 1.1
- 1.9
Math.max与Math.min,比较两个数的最大值,最小值
- /**
- * @see 比较两个数的最大值,最小值
- * @param double|float|int|long
- * @return double|float|int|long
- */
- System.out.println(Math.max(1.0, 2.0));
- System.out.println(Math.min(-1.0, -2.0));
输出结果:
- 2.0
- -2.0
返回一个与第二个参数相同的标志(正负号)的值
- /**
- * @see 返回一个与第二个参数相同的标志(正负号)的值
- * @param double|float
- * @return double|float
- */
- System.out.println(Math.copySign(-1.9, 2.9));
- System.out.println(Math.copySign(1.9, -2.9));
- System.out.println(Math.copySign(0.0, 2.9));
- System.out.println(Math.copySign(0.0, -2.9));
输出结果:
- 1.9
- -1.9
- 0.0
- -0.0